2016-12-28 9 views
1

Muleで送信HTTP接続のmaxThreadsActiveとmaxThreadsIdleの量を制御しようとしています。HTTPリクエスタ設定/コネクタでのスレッド数の定義

default-threading-profileを設定しても、HTTPリクエスタに割り当てられるスレッドの量には影響しません。

それはHTTP経由でスレッドのプロファイルを設定することが可能ですHTTPリスナーのために

:このような労働者スレッディング・プロファイルを、:

<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"> 
    <http:worker-threading-profile maxThreadsActive="2" maxThreadsIdle="1" threadTTL="60000"/> 
</http:listener-config> 

しかし、私は、http上のスレッドプロファイルを適用する方法を見つけることができません:要求要素。

私はプロファイラ(VisualVM)を使用すると、この場合、http:worker-threading-profileがリスナーのためにどのように動作するのか不思議ですが、割り当てられているスレッドの量に変更は見られませんHTTPリスナー

HTTPエンドポイントのスレッドに関するアイデアと、それらを制御して検証する方法について教えてください。

下のスクリーンショットは、上記のようにスレッドプロファイルが適用された単純なテストアプリケーションからのものです。

enter image description here

同じアプリは単純なHTTPを持っている:アウトバウンドHTTP接続(依頼者)の要求configが、私はいつもこのスレッドの数を取得:

enter image description here

答えて

0

は、それを自分自身を試してみましたことはありません研究と訓練の情報の中には次のようなものがあります。あなたのフローがを使用していて、メッセージソースとフローの振る舞いに基づいてMuleが設定する場合、処理は同じスレッドで行われます。これは、HTTPリスナーに割り当てられているスレッドの量に何も変更が見られない理由を説明します。メッセージソースが要求 - 応答 - メッセージの送信者が応答を期待しているか、またはフローがtransactionに含まれている場合、フローは同期に設定されます。

それ以外の場合、Muleはフローをキュー非同期に設定します。この場合、フローのプロパティビュー(スタジオでは、フロー自体を選択し、プロパティで処理方針を探します)を使用してスレッドを設定します。フローのプロパティをdescribed in the docs.として設定します。HTTPリクエスタafaikにスレッドを設定しません。

関連する問題