2016-06-01 37 views
0

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

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

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

+0

我不认为这是可能的。请向我们展示您的代码和代理配置。您还可以使用activemq控制台或通过jmx来检查队列中的待处理消息的数量。 –

+0

我想知道为什么这是不可能的。当我第一次收到队列中的消息时,它会更新同一连接中的任何属性。 – gaurav

回答

0

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

相关问题