RabbitMQ Channel 复用(SimpleMessageContainer)
RabbitMQ Channel reuse (SimpleMessageContainer)
我的 spring 引导应用程序的功能是侦听 rabbitmq 队列上的消息,在 onMessage 中进行一些处理,然后将消息发布到另一个 rabbitmq 队列上。我们正在使用 spring-rabbit (1.7.2.RELEASE)。我们已经使用 SimpleMessageListenerContainer 配置了监听器。
我的问题是我可以使用我正在阅读消息的同一频道发布消息。 spring-rabbit 是否提供对监听器使用的通道的访问?以便可以重复使用同一个频道进行发布?
谢谢,
思密达
如果您使用事务(侦听器容器),事务RabbitTemplate
在容器线程上执行的任何操作都将参与事务并使用相同的通道。
如果您不使用交易,您可以使用 ChannelAwareMessageListener
访问接收消息的频道。参见 Message Listeners。
如果您使用 @RabbitListener
,您可以添加 Channel
作为方法参数。
当前 1.7.x 版本是 1.7.9.
我的 spring 引导应用程序的功能是侦听 rabbitmq 队列上的消息,在 onMessage 中进行一些处理,然后将消息发布到另一个 rabbitmq 队列上。我们正在使用 spring-rabbit (1.7.2.RELEASE)。我们已经使用 SimpleMessageListenerContainer 配置了监听器。
我的问题是我可以使用我正在阅读消息的同一频道发布消息。 spring-rabbit 是否提供对监听器使用的通道的访问?以便可以重复使用同一个频道进行发布?
谢谢, 思密达
如果您使用事务(侦听器容器),事务RabbitTemplate
在容器线程上执行的任何操作都将参与事务并使用相同的通道。
如果您不使用交易,您可以使用 ChannelAwareMessageListener
访问接收消息的频道。参见 Message Listeners。
如果您使用 @RabbitListener
,您可以添加 Channel
作为方法参数。
当前 1.7.x 版本是 1.7.9.