|
对于最新稳定版本,请使用Spring Framework 7.0.1! |
JMS(Java 消息服务)
Spring 提供了一个 JMS 集成框架,大大简化了 JMS API 的使用 就像 Spring 对 JDBC API 的集成一样。
JMS 大致可分为两个功能领域,即生产和
信息消费。这Jms模板类用于消息生成,
同步消息接收。用于类似雅加达EE的异步接收
Spring 采用消息驱动的 Bean 风格,提供了多种消息监听器容器,
你可以用它来创建消息驱动POJO(MDP)。春季也提供了一种声明性的方式
以创建信息听众。
这org.springframework.jms.corepackage 提供了用于使用的核心功能
JMS。它包含了 JMS 模板类,通过处理
资源的创造与释放,类似于Jdbc模板这也适用于JDBC。这
Spring模板类共有的设计原则是提供辅助方法,
执行常见作,并且在更复杂的使用中,委托
处理任务到用户实现的回调接口。JMS模板遵循
设计一样。这些类提供了各种便捷的发送消息的方法,
同步消耗消息,并将 JMS 会话和消息生产器暴露于
用户。
这org.springframework.jms.support套餐内容JMSException译本
功能性。翻译会将被检查的JMSException层级到
无检查例外的镜像层级结构。如果有专门的提供者子类
被检查的jakarta.jms.JMSException存在,这个例外被包裹在
猖獗UncategorizedJmsException.
这org.springframework.jms.support.converter软件包提供消息转换器抽象化以在 Java 对象和 JMS 消息之间转换。
这org.springframework.jms.support.destination包提供多种策略
用于管理 JMS 目的地,例如为目的地提供服务定位器
存储在JNDI中。
这org.springframework.jms.annotation套件提供了必要的基础设施
支持注释驱动的监听器端点,方法是使用@JmsListener.
这org.springframework.jms.config包提供了JMS以及用于配置监听器容器的 Java 配置支持,
创建监听端点。
最后,是org.springframework.jms.connectionpackage 提供了以下实现
这连接工厂适合独立应用。它还包含
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的惯例,因此在相应配置下也能做到 支持这样的情景。不过,请仅考虑这在过渡阶段。 |