【发布时间】:2011-03-30 11:36:46
【问题描述】:
我需要在与创建它的会话不同的会话中确认一条消息。如果在给定时间内未确认消费的消息,则应将其添加回队列。这是否可以使用 JMS(计划使用 ActiveMQ 作为代理)。
【问题讨论】:
标签: java jms message-queue activemq
我需要在与创建它的会话不同的会话中确认一条消息。如果在给定时间内未确认消费的消息,则应将其添加回队列。这是否可以使用 JMS(计划使用 ActiveMQ 作为代理)。
【问题讨论】:
标签: java jms message-queue activemq
我认为这是不可能的。
如果消息被消费,应该由消费者会话确认(可以是自动或客户端确认)。确认是保证消息传递和事务机制的关键。 JMS 服务器使用确认确保消息成功发送/使用。
关于超时问题,如果JMS服务器在给定时间段内没有收到ack,通常会重新发送消息并设置JMSRedelivered标志。我认为不会添加回队列,然后能够被同一会话或另一个会话作为新消息使用。
【讨论】: