プロデューサーはキューに多くのメッセージを送信しています。現在、キューにはこれらのメッセージが保存されています。したがって、コンシューマーからこれらのメッセージを消費する前に、プロデューサーが誤って送信したキュー上のメッセージを削除したい場合、受信者がこのメッセージを受信したくない場合。どうすればこれを達成できますか。またはその他の提案、thnx
2 に答える
2
セッションをトランザクションのままにして、最後にコミットまたはロールバックする必要があります。
コミットするつもりだったのにロールバックする必要がある場合は、アプリケーションに重大な設計上の問題があるため、確認する必要があります。それ以上のことを行うには、アプリケーションで受信を処理して無視するデータベースが必要になりますが、そのためにデータベースを使用できる場合、同期方法でデータにアクセスする際にパフォーマンスの問題が発生します。
于 2013-01-15T20:50:06.467 に答える
0
考えられる 1 つの方法: プロデューサは、削除するメッセージの ID を知っている場合、そのメッセージを受信してキューからそのメッセージを削除できます。ただし、プロデューサーが間違いに気付く前にコンシューマーがメッセージを受信している可能性があるため、これはメッセージの削除を保証するものではありません。
于 2013-01-09T15:01:50.657 に答える