【问题标题】:Message Receive From Active MQ queue从活动 MQ 队列接收消息
【发布时间】:2016-06-01 09:36:43
【问题描述】:

我让 Active MQ 连接工厂获取连接、获取会话并从队列中创建接收器。我在创建 Session 时在这里做了 Client_Acknowledge。当我在队列中收到消息时,我收到了消息,但我没有确认。注意到这里,也没有关闭连接。

再次在同一个连接中,我尝试接收相同的消息。但是这次我没有收到消息并得到空值。

我的问题是,当它是一个同步调用时,我可以在同一个连接中从 Active Mq 接收两次相同的消息吗?

【问题讨论】:

  • 我认为这是不可能的。请向我们展示您的代码和代理配置。您还可以使用 activemq 控制台或通过 jmx 检查队列中待处理的消息数。
  • 我想知道这是不可能的原因。当我第一次收到来自队列的消息时,它会更新同一连接中的任何属性吗?

标签: java jms activemq mq


【解决方案1】:

这是不可能的,消息由第一个未确认且未关闭的消费者持有。如果您希望另一个消费者获取消息而不是您需要关闭消费者或使用事务并执行回滚以指示您不想要该消息(如果您不想重试,则需要配置重新传递计数策略给原来的消费者)。

【讨论】: