|
对于最新的稳定版本,请使用 Spring Framework 6.2.10! |
JMS(Java 消息服务)
Spring提供了一个JMS集成框架,该框架在许多方面简化了JMS API的使用 与 Spring 的 JDBC API 集成方式相同。
JMS 大致可以分为两个功能领域,即生产和
消息的消耗。这JmsTemplateclass 用于消息生成,而
同步消息接收。用于异步接收,类似于 Jakarta EE 的
消息驱动的 bean 样式,Spring 提供了许多消息侦听器容器,这些容器
您可以使用来创建消息驱动的 POJO (MDP)。Spring 还提供了一种声明式方式
以创建消息侦听器。
这org.springframework.jms.corepackage 提供了使用
JMS。它包含 JMS 模板类,通过处理
创建和释放资源,就像JdbcTemplate为 JDBC 做。这
Spring模板类通用的设计原则是提供辅助方法来
执行常见作,为了更复杂地使用,委托
处理任务到用户实现的回调接口。JMS 模板遵循
相同的设计。这些类提供了各种发送消息的便捷方法,
同步使用消息,并将 JMS 会话和消息生产者公开给
用户。
这org.springframework.jms.supportpackage 提供JMSException译本
功能性。翻译将选中的JMSExceptionhierarchy 设置为
未检查异常的镜像层次结构。如果有任何特定于提供程序的子类
的检查jakarta.jms.JMSExceptionexist,则此异常包装在
猖獗UncategorizedJmsException.
这org.springframework.jms.support.converterpackage 提供了一个MessageConverter抽象,用于在 Java 对象和 JMS 消息之间进行转换。
这org.springframework.jms.support.destinationpackage 提供了多种策略
用于管理 JMS 目标,例如为目标提供服务定位器
存储在 JNDI 中。
这org.springframework.jms.annotationpackage 提供必要的基础设施
通过使用@JmsListener.
这org.springframework.jms.configpackage 为jms命名空间以及 Java 配置支持来配置侦听器容器和
创建侦听器终结点。
最后,org.springframework.jms.connectionpackage 提供了
这ConnectionFactory适用于独立应用。它还包含一个
Spring 的PlatformTransactionManager对于 JMS(狡猾地命名为JmsTransactionManager).这允许将 JMS 无缝集成为事务性
资源添加到 Spring 的事务管理机制中。
|
从 Spring Framework 5 开始,Spring 的 JMS 包完全支持 JMS 2.0,并且需要 JMS 2.0 API 在运行时存在。我们建议使用与 JMS 2.0 兼容的提供程序。 如果您碰巧在系统中使用较旧的消息代理,您可以尝试升级到 JMS 2.0 兼容驱动程序,适用于您现有的代理生成。或者,您也可以 尝试针对基于 JMS 1.1 的驱动程序运行,只需将 JMS 2.0 API jar 放在 classpath,但仅对驱动程序使用 JMS 1.1 兼容的 API。Spring 的 JMS 支持 默认情况下遵循 JMS 1.1 约定,因此通过相应的配置,它确实如此 支持这样的场景。但是,请仅在过渡方案中考虑这一点。 |