Only one ConfirmCallback is supported by each RabbitTemplate 解决办法
错误原因:
spring中Bean默认是使用的的单列模式,不巧的是RabbitTemplate 只能设置一个ConfirmCallback,所以造成了上诉的BUG
解决办法:
RabbitTemplate 设置成多列模式
@Bean
@Scope("prototype")
public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) {
RabbitTemplate template = new RabbitTemplate(connectionFactory);
template.setMandatory(true);
template.setMessageConverter(new SerializerMessageConverter());
return template;
}
当Spring中的RabbitTemplate因默认单例模式导致无法设置多个ConfirmCallback时,可以将RabbitTemplate配置为原型作用域(prototype),从而实现多个实例并分别设置ConfirmCallback。代码示例展示了如何创建一个原型作用域的RabbitTemplate,并设置必要的参数。
5759

被折叠的 条评论
为什么被折叠?



