SimpleMessageListenerContainer ChannelTransacted 和 MaxConcurrentConsumers
SimpleMessageListenerContainer ChannelTransacted and MaxConcurrentConsumers
我正在尝试使用通道事务从 Spring AMQP 配置 SimpleMessageListenerContainer 以按需动态添加消费者。问题是,当我进行渠道交易时,我没有看到动态添加消费者。需要明确的是,这不会在负载下动态添加消费者:
container.setMaxConcurrentConsumers(5);
container.setChannelTransacted(true);
container.setTransactionManager(rabbitTransactionManager);
但是这样做:
container.setMaxConcurrentConsumers(5);
//container.setChannelTransacted(true);
//container.setTransactionManager(rabbitTransactionManager);
我的问题是:
- 为什么不动态添加消费者?
- 是否有解决方法可以让渠道交易和动态消费者同时工作?
这是一个错误 - 请打开一个 JIRA issue。
不幸的是,没有解决方法;它需要一个补丁。
使用 RabbitMQ 进行事务处理的情况非常少,尤其是在消费者方面 - 您能解释一下为什么需要它们吗?
我正在尝试使用通道事务从 Spring AMQP 配置 SimpleMessageListenerContainer 以按需动态添加消费者。问题是,当我进行渠道交易时,我没有看到动态添加消费者。需要明确的是,这不会在负载下动态添加消费者:
container.setMaxConcurrentConsumers(5);
container.setChannelTransacted(true);
container.setTransactionManager(rabbitTransactionManager);
但是这样做:
container.setMaxConcurrentConsumers(5);
//container.setChannelTransacted(true);
//container.setTransactionManager(rabbitTransactionManager);
我的问题是:
- 为什么不动态添加消费者?
- 是否有解决方法可以让渠道交易和动态消费者同时工作?
这是一个错误 - 请打开一个 JIRA issue。
不幸的是,没有解决方法;它需要一个补丁。
使用 RabbitMQ 进行事务处理的情况非常少,尤其是在消费者方面 - 您能解释一下为什么需要它们吗?