这就是我创建交换并将队列绑定到它的方式
<rabbit:topic-exchange id="dataExchange" name="MQ-EXCHANGE" durable="true">
<rabbit:bindings>
<rabbit:binding queue="COMM_QUEUE" pattern="queue.*" />
</rabbit:bindings>
</rabbit:topic-exchange>
我已经在互联网上阅读了很多帖子,其中写有一条消息,如果要保护兔子或队列崩溃,还需要标记为持久性。但我无法弄清楚如何标记我的消息。
这就是我将消息发布到队列的方式
@Autowired
private RabbitTemplate template;
@Override
public void produceMessage(Object message, String routingKey) {
template.convertAndSend(routingKey, message);
}
我查找了不同的API方法来了解这一点,并尝试查找我可以在XML中配置但无法找到方法的任何特定属性。有什么指导吗?
答案 0 :(得分:9)
默认投放模式(MessageProperties
) PERSISTENT
。请参阅here。
要使其成为非持久性,您需要使用convertAndSend(...)
方法和MessagePostProcessor
来设置deliveryMode属性。