rocketmq

        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-spring-boot-starter</artifactId>
            <version>2.2.0</version>
        </dependency>
rocketmq:
  name-server: 127.0.0.1:9876
  producer:
    group: test-group

消息订阅

@Slf4j
@Component
@RocketMQMessageListener(topic = "delay-topic",consumerGroup = "delay-group")
public class DelayConsumer implements RocketMQListener<String> {
    @Override
    public void onMessage(String s) {
        log.info("received is {}", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now()));
        log.info("received Result {}",s);
    }
}

消息生产

@Component
@Slf4j
public class DelayProduce {
    @Resource
    private RocketMQTemplate rocketMQTemplate;
    public void send(String topic,String message,int delayLebel){
        SendResult sendResult = rocketMQTemplate.syncSend(topic, MessageBuilder.withPayload(message).build(), 2000, delayLebel);
        log.info("send is {}", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now()));
        log.info("sendResult {}",sendResult);
    }
}

测试

@SpringBootTest
class DelayProduceTest {
    @Resource
    private DelayProduce delayProduce;
    @Test
    void send() {
        for (int i = 0; i < 10; i++) {
            delayProduce.send("delay-topic","秒杀订单延迟消息==="+i,1);
        }
    }
}
@SpringBootTest
class DelayConsumerTest {
    @Test
    void onMessage() {
        while (true){
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容