找施工队伍去什么网站游戏推广引流
背景
Rocketmq5中支持延时消息的时间,通过Message.setDelayTimeSec可以设置延时消息的精确时间。
问题
当设置时间超过3天时出现异常
org.apache.rocketmq.client.exception.MQBrokerException: CODE: 13 DESC: timer message illegal, the delay time should not be bigger than the max delay 259200000ms; or if set del msg, the delay time should be bigger than the current time BROKER: xxxxxx:xxxx
For more information, please visit the url, https://rocketmq.apache.org/docs/bestPractice/06FAQ
分析
根据错误提示最大延时时间为259200000ms(3天),查看源码可以知,在rocketmq的broker中有存在限制
源码
org.apache.rocketmq.store.config.MessageStoreConfig
private int timerMaxDelaySec = 3600 * 24 * 3; //默认最大延迟时间
调整
我们可以通过修改rocketmq服务端的broker.properties配置文件中的timerMaxDelaySec参数。