您现在的位置是:主页 > Web前端技术 > Web前端技术

Springboot如何整合RocketMQ收发消息开发技术

IDCBT2021-12-29服务器技术人已围观

简介这篇文章将为大家详细讲解有关Springboot如何整合RocketMQ收发消息,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 Springboot 整合 RocketMQ 收发消

这篇文章将为大家详细讲解有关Springboot如何整合RocketMQ收发消息,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Springboot 整合 RocketMQ 收发消息创建springboot项目

pom.xml添加rocketmq-spring-boot-starter依赖。

<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-spring-boot-starter</artifactId>
    <version>2.1.0</version>
</dependency>
yml 配置

application.yml

rocketmq:
  name-server: 192.168.64.141:9876

application-demo1.yml

使用 demo1 profile 指定生产者组组名

rocketmq:
  producer:
    group: producer-demo1

application-demo2.yml

使用 demo2 profile 指定生产者组组名

rocketmq:
  producer:
    group: producer-demo2
测试demo 1

    发送普通消息

    发送 Spring 的通用 Message 对象

    发送异步消息

    发送顺序消息

    生产者

    package cn.tedu.demo2.m1;
    import org.apache.rocketmq.client.producer.SendCallback;
    import org.apache.rocketmq.client.producer.SendResult;
    import org.apache.rocketmq.spring.core.RocketMQTemplate;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.messaging.Message;
    import org.springframework.messaging.support.MessageBuilder;
    import org.springframework.stereotype.Component;
    @Component
    public class Producer {
        @Autowired
        private RocketMQTemplate t ;
        public  void send(){
            //发送同步消息
            t.convertAndSend("Topic1:TagA", "Hello world! ");
            //发送spring的Message
            Message<String> message = MessageBuilder.withPayload("Hello Spring message! ").build();
            t.send("Topic1:TagA",message);
            //发送异步消息
            t.asyncSend("Topic1:TagA", "hello world asyn", new SendCallback() {
                @Override
                public void onSuccess(SendResult sendResult) {
                    System.out.println("发送成功");
                }
                @Override
                public void onException(Throwable throwable) {
                    System.out.println("发送失败");
                }
            });
            //发送顺序消息
            t.syncSendOrderly("Topic1", "98456237,创建", "98456237");
            t.syncSendOrderly("Topic1", "98456237,支付", "98456237");
            t.syncSendOrderly("Topic1", "98456237,完成", "98456237");
        }
    }

    标签:

    很赞哦! ()

本栏推荐