使用ActiveMQ: 塞纳里奥: 服务器将通过队列向客户端发送许多消息。 但是,如果没有使用者(客户端)
,我会立即将消息放入队列中提前致谢!
答案 0 :(得分:2)
您可以使用非持久性消息传递,如果没有活跃的消费者,则会删除该消息。
另一种替代方法可能是使用消息到期,因此如果消息未从队列中消耗,则消息将在X周期后到期。
答案 1 :(得分:1)
在每封邮件上设置一个JMSExpiration
一段时间(30秒?5分钟?),然后在该时间后没有消费的任何邮件(无论是因为没有消费者还是因为消费者在后面运行)将被发送到DLQ。或者,如果您不想在DLQ中使用它,请配置死信策略以设置processExpired=false
或使用Discarding DLQ Plugin,两者都记录在http://activemq.apache.org/message-redelivery-and-dlq-handling.html。