消息重发看这篇 Spring Boot 整合 ActiveMQ 实现手动确认和重发消息 - 楼兰胡杨 - 博客园 (cnblogs.com)
以下情况会导致消息重发:
1.在使用JMS的事务的Session中(不是spring的@Transactional事务),调用rollback()方法;
2.在使用事务的Session中,调用commit()方法之前就关闭了Session;
3.在Session中使用CLIENT_ACKNOWLEDGE签收模式或者INDIVIDUAL_ACKNOWLEDGE模式,并且调用了recover()方法。不调用recover的话,不会立刻重发消息,必须等到重启后才重发
可以通过设置ActiveMQConnectionFactory来定制想要的再次传送策略。
需要注意的是:使用手动签收模式,如果客户端没有调用message.acknowledge()方法是不会立刻重发消息的,只有当前Coustomer重启时才能重新接受消息
————————————————
版权声明:本文为CSDN博主「啊大海全是水」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhaoyachao123/article/details/78365003