【发布时间】:2023-03-19 13:20:01
【问题描述】:
我有一个队列生产者(NON_PERSISTENT)和一个连接到我的 ActiveMQ 服务器的队列消费者。如果生产者在消费者未连接到 ActiveMQ 时向队列发送消息,则似乎在消费者启动并连接到 ActiveMQ 时已存储和传递消息。
如果消费者在交付时未连接,我希望 ActiveMQ 忽略该消息。我怎样才能做到这一点?
提前致谢。
【问题讨论】:
标签: activemq activemq-cpp
我有一个队列生产者(NON_PERSISTENT)和一个连接到我的 ActiveMQ 服务器的队列消费者。如果生产者在消费者未连接到 ActiveMQ 时向队列发送消息,则似乎在消费者启动并连接到 ActiveMQ 时已存储和传递消息。
如果消费者在交付时未连接,我希望 ActiveMQ 忽略该消息。我怎样才能做到这一点?
提前致谢。
【问题讨论】:
标签: activemq activemq-cpp
使用主题而不是队列 - 这是主题的默认行为(除非使用持久订阅者)。
否则,对于队列,您可以在发送消息时设置消息过期时间。如果在该时间范围内未读取,它将被丢弃。确保设置足够的时间范围,以免服务器之间的时钟同步问题成为一个因素。假设 2 分钟左右。
【讨论】: