2016-07-05 36 views
1

这是我如何创造一个交流和队列绑定到它如何使用spring-rabbitmq将消息标记为持久性?

<rabbit:topic-exchange id="dataExchange" name="MQ-EXCHANGE" durable="true"> 
     <rabbit:bindings> 
      <rabbit:binding queue="COMM_QUEUE" pattern="queue.*" /> 
     </rabbit:bindings> 
</rabbit:topic-exchange> 

我也读了不少,里面写到那还需要一个消息在互联网上的帖子被标记,如果它持续在rabbitmq或队列崩溃的情况下将被保护。但我无法弄清楚如何标记我的信息持久。

这是我如何发布消息队列

@Autowired 
    private RabbitTemplate template; 

    @Override 
    public void produceMessage(Object message, String routingKey) { 
     template.convertAndSend(routingKey, message); 
    } 

我找了不同的API方法来知道这一点,也试图寻找,我可以配置在XML但couldn任何特定的属性找不到方法。任何指导?

回答

3

默认传送模式(在MessagePropertiesPERSISTENT。请参阅here

为了使其不持久,您需要使用convertAndSend(...)方法和MessagePostProcessor来设置deliveryMode属性。

+0

感谢解决方案@Gary –

相关问题