0
更新されたプロパティを持つ春AMQPメッセージは、メッセージを取得している再キューイングされますが、メッセージのプロパティは再度キューに入れる私は更新されたプロパティを持つメッセージを再キューイングする必要があり、私はユースケースを持って
public class TestListener implements MessageListener{
@Override
public void onMessage(Message arg0) {
MessageProperties properties = arg0.getMessageProperties();
int count = properties.getMessageCount();
System.out.println(count);
properties.setMessageCount(++count);
throw new AmqpException("test");
}
しかし、更新取得されていませんcountの値は常に0をそのまま出力します
ヘッダーにカスタムプロパティを追加すると、同じ値が得られます。私たちは、ARRすなわちパブリッククラスTestListenerは[]のMessageListener { @Override ます。public voidのonMessage(メッセージのarg0){ バイトを実装して呼び出すいくつかのAPIの状況に基づいて、メッセージをn回の一切をREQないする必要があるユースケースを持っています= arg0.getBody();文字列someValue =新しい文字列(arr); //成功しなかった場合は、いくつかのAPI呼び出しを行います(このロジックは何度も試してください)。 – Akshat
前に述べたように、メッセージを拒否してもそれを再発行する必要はありません。 'messageCount'プロパティは特別な読み取り専用プロパティです。 'RabbitTemplate.receive()'メソッドを使用する場合、キュー内のメッセージ数の推定値です。メッセージリスナーには値が設定されません。カスタムヘッダーを使用する必要があり、メッセージを自分で再発行する必要があります。メッセージを拒否することはできません(変更したい場合)。 –