我正在尝试使用 Spring AMQP 配置 SimpleMessageListenerContainer 和 channel 事务,以根据需要动态添加消费者。问题是,当我有 channel 交易时,我没有看到消费者被动态添加。需要明确的是,这不会在负载下动态添加消费者:
container.setMaxConcurrentConsumers(5);
container.setChannelTransacted(true);
container.setTransactionManager(rabbitTransactionManager);
但这确实:
container.setMaxConcurrentConsumers(5);
//container.setChannelTransacted(true);
//container.setTransactionManager(rabbitTransactionManager);
我的问题是:
- 为什么不动态添加消费者?
- 是否有解决方法可以让 channel 交易和动态消费者同时发挥作用?
最佳答案
这是一个错误 - 请打开 JIRA issue .
不幸的是,没有解决方法;它需要一个补丁。
使用 RabbitMQ 进行事务处理的情况相当罕见,尤其是在消费者方面 - 您能解释一下为什么需要它们吗?
关于transactions - SimpleMessageListenerContainer ChannelTransacted 和 MaxConcurrentConsumers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30174436/