我正在使用ActiveMQ实现客户端/工作者系统,我想实现手动消息确认和消息拒绝。
为什么拒绝邮件?如果一个工作人员有太多的任务,我希望该工作人员告诉经纪人重新排队原始消息。
我知道有办法自动确认或实施交易,但我宁愿这样:
如何实现这一点(不只是手动将消息重新发送给代理)
更新:
稍微改写一下这个问题: 如何确保将未确认的邮件重新添加回队列(并且重新传递可以返回到以前甚至不承认它的同一个消费者 - 说消费者离线然后又回来了)
答案 0 :(得分:3)
关于队列的ActiveMQ网页:
如果消费者收到消息但之前没有确认消息 关闭然后该消息将被重新传递给另一个消费者。
这就是你想要的,对吧?因此,您必须关闭AUTO_ACKNOWLEDGEMENT模式并使用另一种模式:CLIENT_ACKNOWLEDGE或者可能更具选择性的INDIVIDUAL_ACKNOWLEDGE。
拒绝拒绝邮件,请参阅ActiveMQ-Docu:
没有JMS'未确认'。