条件:RabbitMQのロールバックトランザクションと再経路メッセージ
1) 2)キューがトランザクション 3)としてマークされている休止状態トランザクションマネージャを使用する消費者をトリガするためにバネAMQPとバンドル来るSimpleMessageListenerContainerを使用メッセージ。
シナリオ:
消費者は、Hibernateトランザクションがロールバックさせ、そして、メッセージが再キューイングするためにいくつかの予期しないエラーに起因する例外を生成します。これはコンテナによって処理されます。
SimpleMessageContainerが書かれているので、メッセージをキューから削除する方法が見つからず、&にプラットフォームトランザクションマネージャのロールバックがあります。 &チャネルのいずれかがロールバックするか、操作が成功します。
私は、メッセージにフィールドが設定されているため例外として失敗したとマークし、別のコンシューマに戻ったときにAOPアドバイスを使ってメッセージの状態を分析し、メッセージを別の交換所に送信する。
私は、メッセージの本文を変更したり、rabbitmqのメッセージにタグを付けるヘッダーを追加したりすることはできません。メッセージが戻ってくるたびに元のメッセージが返されます。
どのようにメッセージにタグを付けることができますか?
トランザクションをロールバックしている間に他の人が例外でメッセージの再ルーティングを解決する方法を教えてください。