下边这段代码是配置的mq的延迟队列(TTL+死信),有个关于TTl时间的问题,
<!--设置队列的过期时间-->
<entry key="x-message-ttl" value="20000" value-type="java.lang.Integer"></entry>
其中我把value=20000设置成了20s,但是我想要把延迟设计为1个月甚至更长,根据我目前掌握的情报,时间的最大值应该是int的最大值,要是我把1个月的时间换算成毫秒后,这个数值将会大于int的值,那么延迟一个月的功能就无法实现了??
原配置如下:
<!--下边是正常交换机、死信交换机和队列的绑定*-->
<!--定义队列(发布/订阅模式);处理资产任务的交换机
topic_queue_ziChanTuiSong:正常消息的队列,消息到达后;如果有消费者,直接消费,不做延迟;
topic_queue_yanChi:延迟队列,消息到达后进入延迟队列中(TTL+死信队列)
-->
<rabbit:queue id="topic_queue_ziChanTuiSong" name="topic_queue_ziChanTuiSong" auto-declare="true"></rabbit:queue>
<rabbit:queue id="topic_week_queue_two" name="topic_week_queue_two" auto-declare="true"></rabbit:queue>
<!--队列绑定死信交换机-->
<rabbit:queue id="topic_queue_yanChi" name="topic_queue_yanChi" auto-declare="true">
<rabbit:queue-arguments>
<!--设置队列的过期时间-->
<entry key="x-message-ttl" value="20000" value-type="java.lang.Integer"></entry>
<!--将该队列,绑定到死信交换机上,两步走:1、直接绑定到死信交换机上 2、绑定到死信交换机上的一个路由上-->
<entry key="x-dead-letter-exchange" value="Exchange_tuiSong_yanChi"></entry>
<entry key="x-dead-letter-routing-key" value="sixin_week.queue.one"></entry>
</rabbit:queue-arguments>
</rabbit:queue>
<!--队列绑定死信交换机-->
<rabbit:queue id="topic_week_queue_two_yanchi" name="topic_week_queue_two_yanchi" auto-declare="true">
<rabbit:queue-arguments>
<!--设置队列的过期时间-->
<entry key="x-message-ttl" value="20000" value-type="java.lang.Integer"></entry>
<!--将该队列,绑定到死信交换机上,两步走:1、直接绑定到死信交换机上 2、绑定到死信交换机上的一个路由上-->
<entry key="x-dead-letter-exchange" value="Exchange_tuiSong_yanChi"></entry>
<entry key="x-dead-letter-routing-key" value="sixin_week.queue.two"></entry>
</rabbit:queue-arguments>
</rabbit:queue>
<!--正常的交换机-->
<rabbit:topic-exchange name="Exchange_tuiSong">
<rabbit:bindings>
<!--路由键是week.queue.one-->
<!--正常队列,消息拿到后立刻消费-->
<rabbit:binding pattern="week.queue.one" queue="topic_queue_ziChanTuiSong" ></rabbit:binding>
<!--正常消息指定的延迟队列,这个队列后期会和死信队列绑定到一起-->
<rabbit:binding pattern="week.queue.one" queue="topic_queue_yanChi" ></rabbit:binding>
<!--路由键是week.queue.two-->
<!--正常队列,(相当于日志)把消息存储在已分配任务列表中-->
<rabbit:binding pattern="week.queue.two" queue="topic_week_queue_two" ></rabbit:binding>
<!--正常消息指定的延迟队列,这个队列后期会和死信队列绑定到一起-->
<rabbit:binding pattern="week.queue.two" queue="topic_week_queue_two_yanchi" ></rabbit:binding>
</rabbit:bindings>
</rabbit:topic-exchange>
<!--死信队列-->
<rabbit:queue id="topic_queue_sixin" name="topic_queue_sixin" auto-declare="true"/>
<!--死信队列two-->
<rabbit:queue id="topic_queue_sixin_two" name="topic_queue_sixin_two" auto-declare="true"/>
<!--死信交换机-->
<rabbit:topic-exchange name="Exchange_tuiSong_yanChi">
<rabbit:bindings>
<rabbit:binding pattern="sixin_week.queue.one" queue="topic_queue_sixin"></rabbit:binding>
<rabbit:binding pattern="sixin_week.queue.two" queue="topic_queue_sixin_two"></rabbit:binding>
</rabbit:bindings>
</rabbit:topic-exchange>