0

JMSキューからのメッセージを消費し、SOAPベースのWebサービスに送信しています。メッセージを送信しているWebサービスにメッセージの確実な配信を提供することを確認したいと思います。

私は2つのオプションを見ています。1。成功するまでルーター(推奨)を使用し、メッセージを送信できない場合は、DeadLetterQueueに入れます。2. JMSトランザクションを使用し、Webサービスへのメッセージの送信が失敗した場合、トランザクションをロールバックし、JMSメッセージはキューに残ります。

<jms:inbound-endpoint queue="ws.message"/>
<until-successful objectStore-ref="objectStore"
              dlqEndpoint-ref="dlqChannel"
              maxRetries="3"
              secondsBetweenRetries="10">
...
</until-successful>

私は成功するまでルーターを使用する傾向がありますが、私が懸念しているのは、必須のObjectStoreが必要なことです。メッセージをデータベース/オブジェクトストアに保存したくありません。代わりに、メッセージをいくつかのJMSキュー/デッドレターキューにプッシュして、そこから消費します。

状況を処理するための役立つヒントや提案をいただければ幸いです。

4

1 に答える 1

-1

成功するまで使用する場合は、への参照objectStoreが必須です。Muleはこのオブジェクトを使用して、再試行の間にメッセージを保存します。また、Muleサーバーまたはアプリケーションがクラッシュした場合にメッセージが失われないように、永続オブジェクトストアを使用する必要があります。成功するまでのルーターは、このユースケースIMOの推奨される方法です。これにより、jmsキューだけを使用する場合と比較して、構成の読み取りと保守が容易になります。

于 2013-03-28T15:57:04.753 に答える