如何拒绝邮件

时间:2013-10-08 21:58:20

标签: java jms activemq message-queue worker

我正在使用ActiveMQ实现客户端/工作者系统,我想实现手动消息确认和消息拒绝。

为什么拒绝邮件?如果一个工作人员有太多的任务,我希望该工作人员告诉经纪人重新排队原始消息。

我知道有办法自动确认或实施交易,但我宁愿这样:

  1. 需要在5秒内确认消息
  2. 如果未确认,则经纪人会将消息发送给其他工作人员
  3. Works可以随时手动拒绝邮件
  4. 如何实现这一点(不只是手动将消息重新发送给代理)

    更新:

    稍微改写一下这个问题: 如何确保将未确认的邮件重新添加回队列(并且重新传递可以返回到以前甚至不承认它的同一个消费者 - 说消费者离线然后又回来了)

1 个答案:

答案 0 :(得分:3)

关于队列的ActiveMQ网页:

  

如果消费者收到消息但之前没有确认消息   关闭然后该消息将被重新传递给另一个消费者。

这就是你想要的,对吧?因此,您必须关闭AUTO_ACKNOWLEDGEMENT模式并使用另一种模式:CLIENT_ACKNOWLEDGE或者可能更具选择性的INDIVIDUAL_ACKNOWLEDGE。

拒绝拒绝邮件,请参阅ActiveMQ-Docu

  

没有JMS'未确认'。