Springboot整合adiveMQ Demo

2022-03-23 17:22:55 浏览数 (1)

非常入门的一个小整合demo

首先

没用过springboot的可以先看看这个 springboot介绍

内嵌方式(使用内置的队列服务)

导入依赖

代码语言:javascript复制
 <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--热部署 不用重启项目-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
        <!--springboot整合activemq-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-activemq</artifactId>
        </dependency>

    </dependencies>

我们需要新建一个消息提供方

queue

代码语言:javascript复制
/**
 * 一个消息的生产者
 * 这是一个新建的类
 */
@RestController
public class QueueController {

    //发送只需要注入这个魔板方法
    @Autowired
    private JmsMessagingTemplate jmsMessagingTemplate;

    @RequestMapping("/send")
   public void send(String text){
         //调用方法:转换并且发送   参数:1.队列名称 2.把传过来的文本传进去
       jmsMessagingTemplate.convertAndSend("xx",text);
   }
}

一个消息的获取方

consumer

代码语言:javascript复制
/**
 * 一个消费者类
 * 这是一个新建的类
 */
//标识这是一个组件
@Component
public class Consumer {
     //读取的是什么类型就封装什么类型
    //加入注解  标识监听哪个队列
    @JmsListener(destination = "xx")
     public void readMessage(String text){
         System.out.println("接收到消息:" text);
     }

}

运行

浏览器访问路径

控制台输出

这个是使用的springboot内置的消息队列服务

不得不说springboot真的很便捷

使用外部服务方式

properties文件中加入配置

代码语言:javascript复制
spring.activemq.broker-url=tcp:192.168.25.135:61616

然后执行项目就用外部的服务了

0 人点赞