問題タブ [java-ee-8]
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.
jakarta-ee - ActiveMQ 組み込みの推奨事項
JavaEE 8 (Liberty 18.0.0.4) に基づくプロジェクトに取り組んでいます。
知りたいこと:
1)独自のアプリケーションに ActiveMQ を埋め込むか、Liberty アプリケーション サーバーに統合してから JMS API を使用するかの違いは何ですか?
2)組み込みの activeMQ に関する推奨事項は何ですか?
batch-processing - 別のスレッド セットを作成するためのパーティション ステップのリロード
チャンク パーティション ステップに読み込まれたレポートの膨大なリストがあります。各レポートはさらに処理され、個別のレポートが生成されます。しかし、パーティション ステップで 50k のレポートをロードすると、サーバーが過負荷になり、速度が大幅に低下します。その代わりに、パーティション ステップで 3k のレポート リストをロードし、それを処理してから、パーティション ステップで別の 3k レポートをロードします。50k レポートが処理されるまで同じことを続けます。
パーティション マッパーによって処理されたデータのレポートが 3k になると、次の使用可能なリストを確認する必要があります。使用可能な場合は、次の 3k レポートのセットを処理するためにパーティションをリセットする必要があります。
open-liberty - サーブレットの非同期機能
機能に戻って調べてみServlet-3.x
ました。私が間違っていなければ、Servlet-3.x より前はリクエストごとのスレッド モデルであり、大量の受信トラフィックのためにプール内のスレッドが不足していました。
したがって、Servlet-3.x では、非同期であり、スレッドをブロックしたままにせず、すぐにスレッドを解放しますが、タスクだけが委任されます。
以下、私の解釈ですが、
サーバースレッドプールに2つのスレッドがあると考えてください
新しい非同期サーブレット リクエストR1
の場合、スレッドがありますT1
。これT1
により、タスクが委譲され、クライアントにすぐに応答しますT2
。T1
質問:T2
サーバーのスレッドプールから作成されますか? もしそうなら、私はポイントを取得しません。
ケース 1: 古い同期サーブレット リクエスト
T1
が I/O タスクの実行でビジーだった場合、ケース 2: 非同期サーブレット呼び出しの場合
T2
は、実行中の I/O タスクでビジーです。どちらの場合も、どちらかがビジーです。
アプリ サーバーのサンプル Async サーブレットで同じことを確認しようとしましたopenliberty
。以下は、サンプル デモ サーブレットから取得したサンプル ログです。
上記のように、Default Executor-thread-116
はすぐに解放され、実行時間の長いタスクが に委任されますがDefault Executor-thread-54
、それらが App Server スレッド プールからのものかどうかはわかりません。もしそうなら、Default Executor-thread-116
委任の代わりにタスクを実行できないのはなぜですか?
誰かがJavaEEのサーブレットのこの非同期動作に光を当てることができますか