Spring Boot ActiveMQ 延迟消息投递
概述
有时候我们不希望消息马上被broker投递出去,而是想要消息1秒以后发给消费者,或者我们想让消息没隔一定时间投递一次,一共投递指定的次数。。。类似这种需求,ActiveMQ提供了一种broker端消息定时调度机制。
ActiveMQ启用延时投递
首先要修改activemq.xml配置文件schedulerSupport="true",启用延时投递
1 | <broker xmlns="http://activemq.apache.org/schema/core" ... schedulerSupport="true" > |
发送消息
需要在实例类中,增加Completion属性,用于存储关键词。
1 |
|
延时投递属性
| 属性 | 类型 | 描述 |
|---|---|---|
| AMQ_SCHEDULED_DELAY | long |
延迟投递的时间 |
| AMQ_SCHEDULED_PERIOD | long |
重复投递时间间隔 |
| AMQ_SCHEDULED_REPEAT | int |
重复投递次数 |
| AMQ_SCHEDULED_CRON | String |
Cron表达式 |


