我有一个队列生成器(NON_PERSISTENT)和一个连接到我的ActiveMQ服务器的队列使用者。如果生产者在消费者未连接到ActiveMQ时向队列发送消息,则当消费者启动并连接到ActiveMQ时,它似乎被存储和传递。
如果消费者在发货时没有连接,我希望ActiveMQ忽略该消息。我怎样才能做到这一点?
提前致谢。
答案 0 :(得分:1)
使用主题而不是队列 - 这是主题的默认行为(除非使用持久订阅者)。
否则,对于队列,您可以在发送消息时设置消息到期。如果不在该时间范围内阅读,它将被丢弃。确保设置足够的时间范围,以便服务器之间的时钟同步问题不会成为一个因素。我们说2分钟左右。