1

ルートを次のように定義しています

from("jetty:http://0.0.0.0:xxxx/abc").to("activemq:queue:queue1").setExchangePattern(ExchangePattern.InOnly);

このルートはメッセージをブローカーにドロップし、メッセージ コンシューマーがそれを消費するのを待たないことを理解しています。メッセージを受け入れるブローカーに関して ExchangePattern.InOnly の影響を理解したいです。ブローカで永続性を有効にしています。上記のルートは、交換が完了する前に永続化されることを保証しますか?

4

1 に答える 1

3

JMS キューに送信する前に、MEP を設定する必要があります。別の方法は、キューに送信するときに InOnly を使用するように指示することです。だからあなたはすることができます

from("jetty:http://0.0.0.0:xxxx/abc")
  .setExchangePattern(ExchangePattern.InOnly)
  .to("activemq:queue:queue1");

または

from("jetty:http://0.0.0.0:xxxx/abc")
  .to(ExchangePattern.InOnly, "activemq:queue:queue1");

イベントおよび要求応答メッセージ EIP の詳細については、Camel の Web サイトを参照してください。

はい、ブローカーで永続化が有効になっている場合は、メッセージを受信すると、ブローカーが送信者 (この例では Camel) に ACK を返す前に、メッセージを永続ストアに格納します。Camel はブローカーに送信した後もルーティングを継続し、ルートの最後に到達して、Jetty に応答を返します。空の応答を使用するように設定することを検討してください。

from("jetty:http://0.0.0.0:xxxx/abc")
  .to(ExchangePattern.InOnly, "activemq:queue:queue1")
  .transform().constant("OK");
于 2013-02-27T07:18:29.733 に答える