1

キャメルヒューズ2.8

リクエストを受け入れて2つのCamelルートを開始するCameljaxrsサーバーがあります。

最初のルートは、cxfrsエンドポイント/ Beanからのリクエストを消費し、それらをjmsキューの受信ボックスに送信します。

2番目のルートは、ビジネスロジック処理のためにjmsキューの受信ボックスからの要求を消費し、その結果をjmsキューの送信ボックスに送信します。

私の質問は、http応答と結果をjaxrsサーバーコンシューマーに送信することに関連しています。

2番目のルートの結果とともに最初のルートからhttpクライアントにhttp応答を送り返すことは可能ですか?(同期して)

        from("cxfrs:bean:personLookupEndpoint")   <-- http client waits for response...
            .setExchangePattern(ExchangePattern.InOut)
            .process(new RequestProcessor())
            .to(inbox);


        from(inbox)
            .unmarshal(jaxb)
            .process(new QueryServiceProcessor())
            .to("bean:lookupService?method=processQuery(${body})")
            .convertBodyTo(String.class)
            .to(outbox);  <-- need to send results to font-end consumer synchronously ...
4

1 に答える 1

1

本当にキューを使用してそれを行う必要がありますか? 代わりに direct: ルートを使用する方が良いと思います。

JMS エンドポイントに InOut 交換パターンを使用する可能性がありますが、いくつかの制限があります: http://fusesource.com/docs/router/2.2/transactions/JMS-Synchronous.html

于 2013-02-05T05:15:28.720 に答える