JMS 简介
JMS( Java Message Service )
即 Java 消息服务,它通过统一 JAVA API 层面的标准,使得多个客户端可以通过 JMS 进行交互,大部分消息中间件提供商都对 JMS 提供支持。 JMS 和 ActiveMQ 的关系就象 JDBC 和 JDBC 驱动的关系。 JMS 包括两种消息模型:点对点和发布者/订阅者,同时 JMS 仅支持 Java 平台。
由于 JMS 是一套标准,因此 Spring Boot 整合 JMS 必然就是整合 JMS 的某一个实现,现以 ActiveMQ 为例进行整合。
ActiveMQ 简介
Apache ActiveMQ
是一个开源的消息中间件,它不仅完全支持 JMS1.1规范,而且支持多种编程语言,例如 C、C++、C#、Delphi、Erlang、Adobe Flash、Haskell、 Java、 JavaScript、Perl、PHP、Pike、Python 和 Ruby 等,也支持多种协议,例如 OpenWire、REST、STOMP、WS-Notification、MQTT、XMPP 以及 AMQP。Apache ActiveMQ
也提供了对 Spring 框架的支持,可以非常容易地嵌入 Spring 中,同时它也提供了集群支持。
Spring Boot 整合 JMS
步骤如下:
- 添加依赖
<!-- ActiveMQ -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
- 在
application.properties
中进行连接配置
# ActiveMQ
spring.activemq.broker-url=tcp://192.168.237.128:61616
# 配置信任所有的包,这个配置是为了支持发送对象消息
spring.activemq.packages.trust-all=true
spring.activemq.user=admin
spring.activemq.password=admin
- 在项目配置类中提供一个消息队列
Bean
,该Bean
的实例就由ActiveMQ
提供
import org.apache.activemq.command.ActiveMQQueue;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import javax