Spring Cloud Stream 发送延时消息到 RocketMQ
根据代码的实现,发送延时消息应该是生效的。在'sendDrugChangeMsg'方法中,通过设置'MessageConst.PROPERTY_DELAY_TIME_LEVEL'属性来设置延时级别。在'MessageBuilder'中使用'setHeader'方法设置该属性,并设置为2,表示延时5秒。
但是需要注意的是,具体的延时时间是由消息中间件来控制的,这里使用的是RocketMQ。在RocketMQ的配置文件中,需要配置'messageDelayLevel'参数来设置延时级别对应的延时时间。如果没有配置该参数,或者配置的延时时间不是5秒,那么实际发送的延时消息的延时时间可能会与预期不符。
另外,还需要确保RocketMQ的版本支持延时消息功能。在较老的版本中,延时消息功能可能不可用。
建议检查RocketMQ的配置文件,确保'messageDelayLevel'参数配置正确,并且确认RocketMQ的版本是否支持延时消息功能。如果仍然无法发送延时消息,可以尝试升级RocketMQ的版本或者查阅RocketMQ的文档以获取更多帮助。
原文地址: https://www.cveoy.top/t/topic/phiF 著作权归作者所有。请勿转载和采集!