rocketmq 示例(spring boot)延时消息


rocketmqTemplate 延时消息

 

 

***********************

引入 jar 包

 

<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-spring-boot-starter</artifactId>
    <version>2.0.3</version>
</dependency>

 

 

************************

相关类

 

RocketmqTemplate

public class RocketMQTemplate extends AbstractMessageSendingTemplate<String> implements InitializingBean, DisposableBean {

    public SendResult syncSend(String destination, Message<?> message, long timeout, int delayLevel) {
                      //同步延时发送

   public void asyncSend(String destination, Message<?> message, SendCallback sendCallback, long timeout, int delayLevel) {
                      //异步延时发送
   。。。。

}

 

 

************************

示例

 

******************

producer 端

 

ProducerService

@Service
public class ProducerService {

    @Resource
    private RocketMQTemplate rocketMQTemplate;

    public void sendDelay(){
        SendResult result=rocketMQTemplate.syncSend("topic-1:delay",MessageBuilder.withPayload("瓜田李下 delay").build(),2000,2);
        System.out.println("发送时间:"+System.currentTimeMillis());
        System.out.println(result);
    }

}

 

******************

consumer 端

 

ConsumerService

@Service
@RocketMQMessageListener(consumerGroup = "consumerGroup",topic = "topic-1",selectorExpression = "*")
public class ConsumerService implements RocketMQListener<String> {

    @Override
    public void onMessage(String s) {
        System.out.println("消费时间:"+System.currentTimeMillis());
        System.out.println(s);
    }
}

 

 

************************

控制台输出

 

      

 

 


版权声明:本文为weixin_43931625原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。