设置了消息延时发送,但是被消费者服务立即消费了。 请问论坛中有没有人遇到过相同的问题,是如何解决的,或者有什么解决的思路? 延时发送的代码:
long sendTime = System.currentTimeMillis() + delayTime;
msg.setStartDeliverTime(sendTime);
SendResult sendResult = producer.send(msg);
生产者发送日志如图:
消息轨迹如图:
日志里的时间和消息轨迹里的生产时间不同是因为 debug ; 之前的项目里这样处理是没有问题的,新的项目需要使用这个业务的时候发现了这个 bug 。
目前已排除的影响因素:
1
qiyuey 2021-12-14 20:43:03 +08:00 via Android
确认一下消息队列的类型
|
2
Hug125 OP @qiyuey #1 请问消息队列类型是指?
用的 RocketMQ 同样的配置在之前的项目里是可以延时推送消息的,在新的项目里就无效果了 |
4
Hug125 OP @qiyuey #3 我们所有项目用的是同一套 Topic ,之前同一个 Topic 还成功过,现在就不好使,搞不懂是为啥子。
当前用的 Topic 是全局顺序消息。 |
5
KingOfUSA 2021-12-15 18:51:53 +08:00
看看 1 楼的回复。在新建 topic 的时候是需要选择类型的,大概率是你新建的 topic 是普通消息。
|