RabbitMQ通道重用(SimpleMessageContainer)

时间:2018-07-18 04:27:59

标签: spring-rabbit spring-rabbitmq

我的Spring Boot应用程序具有以下功能:侦听Rabbitmq队列上的消息,在onMessage中进行一些处理,然后将消息发布到另一个Rabbitmq队列上。我们正在使用spring-rabbit(1.7.2.RELEASE)。我们已经使用SimpleMessageListenerContainer配置了侦听器。

我的问题是,我可以使用他正在阅读他的消息的相同渠道发布该消息吗? spring-rabbit是否提供对侦听器使用的频道的访问?以便可以重复使用同一频道进行发布?

谢谢, 史密塔

1 个答案:

答案 0 :(得分:0)

如果您使用事务(侦听器容器),则事务RabbitTemplate在容器线程上执行的任何操作都将参与事务并使用同一通道。

如果您不使用事务,则可以使用ChannelAwareMessageListener访问接收消息的渠道。参见Message Listeners

如果您使用的是@RabbitListener,则可以将Channel添加为方法参数。

当前的1.7.x版本是1.7.9。