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表达式 |