問題タブ [workmanagers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1097 参照

java - Java EE 環境で n 秒間一時停止/スリープする

Web アプリケーションを WebLogic にデプロイしました。この Web アプリケーションには、DB への接続を試行するサーブレットがあり、失敗した場合は、構成された一定時間待機/一時停止/スリープし、DB への接続を再試行します。(実際には、指数関数的に N 回待機して試行し、すべての試行が失敗した場合、FAILURE 応答を返します)。

2回の試行の間に待機/一時停止するために、使用しました

しかし、8 つの weblogic 管理対象サーバーが実行されている運用環境では、Thread.sleep() が信頼できないことがわかりました。構成された時間より長くスリープします。

これに対する回避策はありますか?

アップデート:

これが私のコードです。管理対象サーバーの活性化からこれを呼び出していることに注意してください。

0 投票する
0 に答える
1317 参照

java - Hibernate query.uniqueList の ConcurrentModificationException

大量のデータのパフォーマンスの問題に取り組んでいます。weblogic が提供するワーク マネージャーを使用して、作業を複数のスレッドに分散しようとしています。しかし、テーブルから特定のレコードを取得しようとすると、次の例外が発生します。 .

これはマルチスレッドのせいですか?私が使用している休止状態のバージョンは 3.6.1 です。例外は非常にランダムです。完全に機能する場合もあれば、Eclipse にデバッグ ポイントを配置するとうまくいく場合もあります。

*編集:例外を発生させたコードスニペット:

0 投票する
1 に答える
3861 参照

java - Weblogic ワーク マネージャが作業を拒否するのはなぜですか

Web ロジック環境で実行されている commonJ ワーク マネージャーを使用しています。

私のセットアップは次のとおりです。

私の春のアプリケーションコンテキスト

WEB-INF の私の web.xml ファイル

および WEB-INF の weblogic.xml ファイル

しばらくして SOAP-UI からサービスを呼び出します。次のエラーが表示されます

最大値が設定されているため拒否されることはわかっていますが、それらのスレッドを再利用しないのはなぜですか? 15 分待っても、新しいリクエストを送信できません。サービスを再起動する必要があります。

0 投票する
0 に答える
85 参照

multithreading - 展開レベルでの Tomcat スレッドプーリング?

問題: Tomcat コンテナーにデプロイされた各アプリケーションのスレッド数を制限します。展開された 1 つのコンポーネントがすべてのリソースを独占できないようにします。

weblogic の世界では、最小スレッドと最大スレッドの制約を指定してワークマネージャーを使用し、デプロイごとにそのアプリケーションのワークマネージャーを指定しました。

スレッドの制約を設定できるエグゼキューターについて読みました。ただし、コネクタレベルのみです。利用可能な愚かなトリックの 1 つは、クライアントが単一の tomcat インスタンスに対して異なるポートを使用するようにし、各Connectorに対して異なるExecutorを編成することですが、それは非効率的です。

質問: 提案されたばかげたアイデアよりも優れた解決策はありますか?

deploymentA には、最小 5 スレッド、最大 10 スレッドを割り当てる必要があります

deploymentB には、最小 10 スレッド、最大 50 スレッドを割り当てる必要があります

愚かな解決策

deploymentA のクライアント/ユーザーにポート 11400 のみを呼び出してもらいます。deploymentB のクライアント/ユーザーに、ポート 11500 のみを呼び出してもらいます。

0 投票する
1 に答える
1277 参照

java - spring @Async を使用して独立したスレッドを作成する方法

Spring @Async を weblogic workmanager で使用しています。Spring のバージョンは 3.2.2 です。

Web.xml :

weblogic.xml :

春の設定xml:

コントローラー:

サービス :

リクエストが fornt end から来るときはいつでも、コントローラはサービス メソッドを呼び出してジョブを開始し、サービス ジョブを待たずにレスポンスを返す必要があります。

@Async が適用されていない場合、すべてが完全に機能しますが、適用すると、リクエスト スレッドが完了したためにサービス スレッドが強制終了されます。

@Async を使用して、リクエスト スレッドから独立したスレッドを作成する方法を教えてください。

その独立したスレッドは、入力に応じて 2 分間または 20 分間実行される場合があります。

0 投票する
1 に答える
940 参照

java - アプリケーションから weblogic サーバーの WorkManager 属性値にアクセスする方法

MBean ランタイム サーバーを使用して WorkManager の MaxThreadsConstraint 属性にアクセスしたいと考えています。Java アプリケーションから weblogic サーバーの WorkManager 属性値にアクセスするのを手伝ってください。

0 投票する
1 に答える
193 参照

websphere - アプリケーションにすでにロードされているクラスを取得しようとすると、workmanager から NPE が発生する

WebSphere 8.5 と JSF2.0 を使用していますが、WorkManager の使用に問題があります (websphere から - 非同期 Bean)。Work インターフェイスを実装するworkManagerExampleクラスがあります。アプリケーションから workManagerExample を呼び出すと、アプリケーションに既にロードされているクラスのメソッドを取得できなくなります。状況:アプリに Utility クラスがあります (正常に動作しています) が、workManagerExample から (Utility.someMethod のように) それを使用しようとすると、NPE が発生します。「startWork(WorkManagerExample)」を呼び出す前に Utility クラスを確認しましたが、null ではなく、通常どおり使用できます。ところで、アプリから既にロードされているクラスを呼び出さなくても、workManager は正常に動作しています。utility クラスを workManagerExample コンストラクターのパラメーターとして渡すことができません (これは、クライアント/顧客担当者からの制限です)。私の質問は、この Asyn Bean の Utility クラス関数を使用しなくなった理由です。

これは私のリファレンス ガイドですhttp://www.bencode.net/blog/2014/07/26/was-async-beans/

一部の Java コード: Class1.java

GetInfoWork.java で、「FacesContext.getCurrentInstance();」を試すと、私は常に NULL を取得しますが、Class1.java から試してみると、期待どおりに動作します。フォルダー構造は通常の JSF2 Web アプリと同じです。これは既存のアプリケーションであり、workManager (com.ibm.ws.runtime.jar から) を介してこの非同期 Bean 機能を追加したいと考えています。