延时等级1到16分别表示 1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h,3表示延迟10s发送,开源版本的RocketMQ不支持自定义延迟时间,但支持修改延时等级的延时时间
/**
* 发送延时消息
* 延时等级1到16分别表示 1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h,3表示延迟10s发送
*
* @throws Exception
*/
@Test
void ScheduledSyncProducer() throws Exception {
SendResult replyString = rocketMQTemplate.syncSend(springTopic, MessageBuilder.withPayload("request string").build(), 15000, 3);
System.out.printf("send %s and receive %s %n", "request string", replyString);
}
延时等级时间修改:
需要修改/conf/broker.conf配置文件
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
messageDelayLevel = 1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
本文介绍了如何使用RocketMQ发送延时消息,详细解释了延时等级的含义,如1到16分别对应的时间,并展示了示例代码。同时,提到了需要修改`broker.conf`配置文件来调整延时等级对应的时间。通过这个配置,可以实现不同延迟时间的延时消息发送。
1241





