私のCamelアプリケーションには、同じ処理ルートによって処理される2つのCXFエンドポイントがあり、AFAIK各エンドポイントは、着信HTTP要求に応じてExchangesを並行して生成することがあります。
両方のエンドポイントがdirect:
コンポーネントを使用して同じルートを使用して要求を転送します。のCamel相当と記述されることがあります。メソッドはです。Apache Camel:直接エンドポイントでルートを並行して実行できますか?
ダイレクト:成分は、プロデューサがメッセージ交換を送信する任意の消費者の直接、同期呼び出しを提供します。
私の質問は:
- は
direct:
コンポーネントは、並列に異なる要求を実行していますか? (それぞれの要求には独自のExchangeがあり、異なるjavaThread
によって実行されます) - もしそうでなければ、どのようにCXF要求を並行して処理するのですか?
これが私の状況です:お使いの場合には
<route id="CxfRoute1">
<from uri="cxf:bean:endpoint1" />
<to uri="direct:handle" />
</route>
<route id="CxfRoute2">
<from uri="cxf:bean:endpoint2" />
<to uri="direct:handle" />
</route>
<route id="HandleStuffRoute" />
<from uri="direct:handle" />
<to uri="bean:stuffHandler" />
</route>
どのように2つのリクエストを正確に同じ時刻にあなたのルートに到着させることができますか?何らかのキューがあります。たとえTCPレベルであっても、私は思うでしょう。一度に1つのCXFエンドポイントを常に実行するように思えます。 –
これらは、TCPレベルで連続していても、実行/スレッドレベルで並列であってもよい。 1つのリクエストが処理を終了するまでブロックしたくありません。 –