我的Spring Boot应用程序具有以下功能:侦听Rabbitmq队列上的消息,在onMessage中进行一些处理,然后将消息发布到另一个Rabbitmq队列上。我们正在使用spring-rabbit(1.7.2.RELEASE)。我们已经使用SimpleMessageListenerContainer配置了侦听器。
我的问题是,我可以使用他正在阅读他的消息的相同渠道发布该消息吗? spring-rabbit是否提供对侦听器使用的频道的访问?以便可以重复使用同一频道进行发布?
谢谢, 史密塔
答案 0 :(得分:0)
如果您使用事务(侦听器容器),则事务RabbitTemplate
在容器线程上执行的任何操作都将参与事务并使用同一通道。
如果您不使用事务,则可以使用ChannelAwareMessageListener
访问接收消息的渠道。参见Message Listeners。
如果您使用的是@RabbitListener
,则可以将Channel
添加为方法参数。
当前的1.7.x版本是1.7.9。