Spring Boot 2.X - Spring Boot整合JMS之ActiveMQ

Spring Boot 2.X - Spring Boot整合JMS之ActiveMQ

Spring Boot 2整合ActiveMQ案例。文中Spring Boot版本爲2.1.4.RELEASE

1.創建項目並引入相關依賴

利用Spring Initializr快速創建一個Spring Boot項目,主要依賴如下:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-activemq</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

2.編寫配置

這裏需要先安裝了ActiveMQ,安裝方式請參閱 Linux安裝ActiveMQ,並在Queues中添加一條Queue,名稱爲queue.test

spring:
  activemq:
    broker-url: tcp://192.168.0.2:61616 # activemq消息組件的連接主機
    user: admin
    password: admin # 賬號密碼默認爲admin

3.開啓JMS功能

在主啓動類XxxApplication上添加@EnableJms註解啓動JMS功能

@SpringBootApplication
@EnableJms
public class SpringBootActivemqApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootActivemqApplication.class, args);
    }
}

4.消息監聽

新建一個消費者監聽器,用於監聽MQ消費。用@JmsListener註解標註,主要要加入Spring容器中

@Component
public class ConsumerListener {

    @JmsListener(destination = "queue.test")
    public void receive(String message) {
        System.err.println("消費者接收到消息:" + message);
    }
}

5.發送消息接口

編寫一個Controller,用於發送MQ測試

@RestController
public class MsgController {

    private final JmsTemplate jmsTemplate;

    public MsgController(JmsTemplate jmsTemplate) {
        this.jmsTemplate = jmsTemplate;
    }

    @GetMapping("/send")
    public String sendMsg(String msg){
        jmsTemplate.convertAndSend("queue.test",msg);
        return "SUCCESS";
    }
}

6.測試

啓動ActiveMQ,啓動XxxApplication服務;
發送消息測試,控制檯消費監聽者打印出了接收到的消息。
在這裏插入圖片描述
至此,實現了簡單的點對點的發送接收消息。

完整代碼:Github

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章