2

プロデューサーはキューに多くのメッセージを送信しています。現在、キューにはこれらのメッセージが保存されています。したがって、コンシューマーからこれらのメッセージを消費する前に、プロデューサーが誤って送信したキュー上のメッセージを削除したい場合、受信者がこのメッセージを受信したくない場合。どうすればこれを達成できますか。またはその他の提案、thnx

4

2 に答える 2

2

セッションをトランザクションのままにして、最後にコミットまたはロールバックする必要があります。

コミットするつもりだったのにロールバックする必要がある場合は、アプリケーションに重大な設計上の問題があるため、確認する必要があります。それ以上のことを行うには、アプリケーションで受信を処理して無視するデータベースが必要になりますが、そのためにデータベースを使用できる場合、同期方法でデータにアクセスする際にパフォーマンスの問題が発生します。

于 2013-01-15T20:50:06.467 に答える
0

考えられる 1 つの方法: プロデューサは、削除するメッセージの ID を知っている場合、そのメッセージを受信して​​キューからそのメッセージを削除できます。ただし、プロデューサーが間違いに気付く前にコンシューマーがメッセージを受信して​​いる可能性があるため、これはメッセージの削除を保証するものではありません。

于 2013-01-09T15:01:50.657 に答える