私は、dbのストアドプロシージャを呼び出すJavaコンポーネントにメッセージを送信し、結果に対して何らかの処理を行って同じtcpに返すtcpエンドポイントを持っています。すべての tcp リクエストが独自のスレッドになることはわかっていましたが、メッセージが同じ接続から送信された場合、それはスレッドが 1 つしかないことを意味し、Java コンポーネントをマルチスレッド化するように mule を構成する必要があります。私が見つけた唯一のものはこれです: http://www.mulesoft.org/documentation/display/MULE3USER/Tuning+Performance#TuningPerformance-pooling そして私はそれを理解できません:D
1 に答える
1
質問でリンクしたドキュメントの Mule 3 では、メッセージ受信者 (つまり、インバウンド エンドポイント) には、通常、リクエストを並行して処理するために割り当てられたスレッドのプールを持つ専用のワーク マネージャーがあります (例外は、少し異なる動作をする JMS コネクタです)。 )。
したがって、あなたの場合、TCP 受信エンドポイントには、デフォルトで、1 つの開いている TCP ソケットにヒットする受信要求を処理するために割り当てられた 16 のスレッドがあります。
プールされたコンポーネントを使用する必要はありません。
編集: 質問は Mule 1.3 に関するものです。これは非常に古く、非常に異なるスレッド モデルを持っています。その場合、各エンドポイントには異なるスレッド プールがあります。
于 2013-01-31T19:04:05.093 に答える