SpringBoot 整合 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
rocketmq.producer.group=my-producer-group

发送消息

@Autowired
private RocketMQTemplate rocketMQTemplate;

public void rocketMQTemplateTest(){

    //topic -- 消息要发送的地址; body -- 具体的消息
    String body = UUID.randomUUID().toString();
    org.springframework.messaging.Message<String> message = MessageBuilder.withPayload(body)
            .setHeader(RocketMQHeaders.TRANSACTION_ID, "MYKEY").build();
    //发送消息
    rocketMQTemplate.convertAndSend("mytopic",body);
    //有回调的发送
    rocketMQTemplate.asyncSend("mytopic", body, new SendCallback() {
        @Override
        public void onSuccess(SendResult sendResult) {
            System.out.println("发送成功");
        }
        @Override
        public void onException(Throwable throwable) {
            System.out.println("发送成功");
        }
    });
}

接收消息

@Component
//可以${}的形式
@RocketMQMessageListener(topic = "mytopic", consumerGroup = "myconsumergroup", selectorExpression = "*")
//RocketMQListener -- 无返回,RocketMQReplyListener -- 有返回
public class SpringBootRocketmqConsumerService implements RocketMQReplyListener {
    @Override
    public Object onMessage(Object o) {
        System.out.println(o.toString());
        return "true";
    }
}
posted @   叕叕666  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示