0

Mule で AMQP コネクタを使用し、メッセージがビジネス フィルタリング基準に失敗した場合に出力キューに書き込むのではなく、デッド レターにルーティングする必要がある特定のユース ケースを達成しようとしています。これを達成するための最良の方法を提案します。サンプルコード:

<mule>
<flow> 
<message source>
<message processor1>
<message processor2>
<message processor3>
<message processor4>
<message processor5>
<amqp:outbound-endpoint>
</flow>
</mule>

メッセージ プロセッサでメッセージが失敗した場合、後続のメッセージ プロセッサが実行されず、メッセージがキューのデッド レター交換に転送されるようにする機能を実現する最善の方法。したがって、メッセージ プロセッサ 2 で失敗した場合、メッセージ プロセッサ 3、4、および 5 は実行されず、メッセージはデッド レター交換にルーティングされるはずです。メッセージがどの段階でも失敗しない場合は、キューに書き込む必要があります。

4

2 に答える 2

0

AMQP トランスポートは、手動でメッセージを確認または拒否する機能を提供します (ドキュメント)。メッセージを拒否し、キューが DLX を使用するように構成されている場合、メッセージはブローカーによってそこにルーティングされます。

Victor Romero の提案に従って catch-exception-strategy を使用してフローを構成し<amqp:reject-message />、メッセージを拒否するために使用してみてください。を使用するコネクタも必ず構成してくださいackMode="MANUAL"

于 2015-01-15T14:40:57.410 に答える