RocketMQ实现延时消费
rocketMQTemplate.syncSend(“helloTopicBoot”,msg,3000,3);
3000为等待消息回传时间,如果3000毫秒还没有回传即发送错误信息,
3为延时消费的时间
/**
*生产者
*发送延时消息
*/
@Test
public void sendDelayMsg(){
Message msg = MessageBuilder.withPayload("发送延时消息,发送时间:"+new Date()).build();
rocketMQTemplate.syncSend("helloTopicBoot",msg,3000,3);
}
/**
*消费者
*不需要添加任何东西,只是打印出来便于观察
*/
@Component
@RocketMQMessageListener(consumerGroup = "htpConsumerGroup",topic = "helloTopicBoot",messageModel = MessageModel.BROADCASTING)
public class HelloTopicListener implements RocketMQListener<MessageExt> {
@Override
public void onMessage(MessageExt messageExt) {
System.out.println("消费时间"+new Date() +"收到的消息:"+new String(messageExt.getBody(), Charset.defaultCharset()));
}
}