消息传递
Spring 框架提供了广泛的支持来集成消息系统,从简化使用 JMS API 的 JmsTemplate,到完整的异步接收消息的基础设施。Spring AMQP 为高级消息队列协议(AMQP)提供了类似的功能集。Spring Boot 还为 RabbitTemplate 和 RabbitMQ 提供了自动配置选项。Spring WebSocket 原生支持 STOMP 消息协议,Spring Boot 通过 starter 和少量的自动配置来支持这一功能。此外,Spring Boot 还支持 Apache Kafka 和 Apache Pulsar。
章节摘要
📄️ JMS
ConnectionFactory 接口提供了一种创建 Connection 的标准方法,用于与 JMS 代理进行交互。尽管 Spring 需要使用 ConnectionFactory 来处理 JMS,但通常您不需要直接使用它,而是可以依赖更高层次的消息抽象。(详细信息请参阅 Spring Framework 参考文档的相关部分。)Spring Boot 还会自动配置发送和接收消息所需的基础设施。
📄️ AMQP
高级消息队列协议(AMQP)是一种平台无关的、面向消息中间件的底层协议。Spring AMQP 项目将 Spring 的核心概念应用于基于 AMQP 的消息解决方案开发中。Spring Boot 为通过 RabbitMQ 使用 AMQP 提供了多种便利,包括 spring-boot-starter-amqp 启动器。
📄️ Apache Kafka 支持
Apache Kafka 通过提供对 spring-kafka 项目的自动配置来支持。
📄️ Apache Pulsar 支持
Apache Pulsar 通过提供对 Spring for Apache Pulsar 项目的自动配置来支持。
📄️ RSocket
RSocket 是一种用于字节流传输的二进制协议。它通过单连接上的异步消息传递,实现了对称的交互模型。
📄️ Spring 集成
Spring Boot 为使用 Spring Integration 提供了多种便利,包括 spring-boot-starter-integration 启动器。Spring Integration 提供了对消息传递以及其他传输方式(如 HTTP、TCP 等)的抽象。如果 Spring Integration 存在于你的类路径中,它将会通过 @EnableIntegration 注解进行初始化。
📄️ WebSockets
Spring Boot 为嵌入式 Tomcat、Jetty 和 Undertow 提供了 WebSocket 自动配置。如果你将 war 文件部署到独立容器中,Spring Boot 会假定容器负责其 WebSocket 支持的配置。