私はスプリングブートAMQPライブラリを使用して、スプリングブートアプリケーションを用意しています。Spring-Boot/AMQP - 処理されるメッセージの上限数
のpom.xml:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
は、どのように私はそれが終了優雅にそして単一メッセージを処理し、承認することができますか?
通知なしで終了することはできますが、メッセージを確認してから終了する方法がうまくいかないようです。
メッセージを1つだけ処理して処理したいですか?キューに100個のメッセージがある場合はどうなりますか? –
@DarshanMehtaはいキューに100個のメッセージがあっても、単一のメッセージを処理して終了したいと思います。 – ManseUK
あなたはこれと同様のアプローチを使用することができます:https://stackoverflow.com/questions/41035454/how-to-stop-consuming-messages-with-rabbitlistener。 「AtomicInteger」を追加し、カウントが1に達すると消費を停止する可能性がありますか? ackに関しては、 'listener'メソッドが正常に終了すると、Springはackを送信します。あなたが 'stop()'を呼び出すと、それは肯定的ではないので、他のユーザがメッセージを利用できるようになります。 –