ActiveMQ-死信配置项及丢弃和重新消费

https://blog.csdn.net/z69183787/article/details/88534988

当对消息设置存活过期时间时,消息超过时间仍然未被消费,则会自动移动到死信队列中。DLQ-死信队列(Dead Letter Queue)用来保存处理失败或者过期的消息。

producer.setTimeToLive(1);//设置消息的存活时间
		producer.send(message);

ActiveMQ-死信配置项及丢弃和重新消费_第1张图片

 

默认的队列名称为ActiveMQ.DLQ ,也可以通过修改配置文件指定。

修改死信队列名称


                 
              

useQueueForQueueMessages: 设置使用队列保存死信,还可以设置useQueueForTopicMessages,使用Topic来保存死信

默认只有持久化的消息才可能进死信队列,如果要非持久化的消息也可以进入死信队列,可以通过修改配置文件实现。

让非持久化的消息也进入死信队列processNonPersistent="true"

   

 

过期消息不进死信队列

 

以上提到的配置可以实现死信丢弃,即不保留。

 

当然,消费端可以通过直接指定死信队列的名称,进行再次消费。

Queue queue = session.createQueue("ActiveMQ.DLQ");

 

 

你可能感兴趣的:(消息中间件,activemq,消息队列,消息中间件)