我正在使用 spring amqp 多线程环境,并且在这些线程之间共享的一个 mq 连接上有多个通道。这些频道上发布了各种主题的消息。需要维护具有相同主题的消息的顺序,为了实现这一点,我需要每次将它们发布到相同的频道。我怎样才能实现这个目标? spring是否提供了一些规定来在可用频道列表中选择固定频道?
您可能需要为您的
CachingConnectionFactory
寻找专用的 RabbitTemplate
,其尺寸为 1
用于通道池。
另一个候选者是
ThreadChannelConnectionFactory
,但您需要确保所有生产者将消息发送到同一线程,其中这样的 RabbitTemplate
实例将重用附加到该线程的上述通道。
在文档中查看更多信息:https://docs.spring.io/spring-amqp/reference/amqp/connections.html