使用更新的属性重新排列Spring amqp消息

时间:2017-01-24 08:55:39

标签: rabbitmq spring-amqp spring-rabbit spring-rabbitmq

我有一个用例,我必须使用更新的属性重新排队消息,消息正在重新排队,但消息属性没有得到更新

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

1 个答案:

答案 0 :(得分:0)

你不能这样做 - amqp协议不支持在拒绝邮件时发回数据。

您必须自行重新发布邮件,例如RabbitTemplate.send()来电。

你也不应该使用"系统"财产用于您自己的目的;使用messageGetProperties().set("myHeader", count++)