【问题标题】:Does spring-jms 5.x require JMS 2.0?spring-jms 5.x 是否需要 JMS 2.0?
【发布时间】:2019-05-10 04:33:14
【问题描述】:

我可以在spring-jms.gradle 中看到,从 5.0.0 开始,对 JMS API 的依赖从 1.1 更改为 2.0。

但是,我的问题是:这是否意味着 spring-jms 5.x 实际上需要提供者来实现 JMS 2.0?

我在 spring 文档中也找不到对 JMS 版本的明确要求,也没有在主要 spring-jms 类的 Javadoc 中(如 @EnableJms)。对于 servlet-api 或 JPA 等其他 JEE API,spring 文档/javadocs 更清楚地说明了这一点。

今天,我仍然使用 spring 4.x 并想升级到 5.x,但是我使用了仅实现 JMS 1.1 的 JMS 提供程序(Oracle AQ)。我想确定 spring-jms 是否可以使用特定的 JMS 2.0 功能,例如 JMSContext

【问题讨论】:

    标签: spring spring-jms


    【解决方案1】:

    我相信它是向后兼容的,所以只要你不尝试使用任何 2.0 功能,你应该没问题。

    为什么不试试看呢?

    【讨论】:

    • 谢谢。当您给出答案时,我决定下载 spring-jms 代码并在其中搜索对 ConnectionFactory.createContext() 的调用。唯一的调用是在像 SingleConnectionFactory 这样的 ConnectionFactory 装饰器中完成的。所以看起来 JMS API 依赖升级到 2.0 以允许这些装饰器变得兼容 2.0,但是主要的 spring-jms 组件,如 DefaultMessageListenerContainer 或 JmsTemplate 似乎没有使用 2.0 功能。明天我将进行一些最终测试,然后我会将其标记为已接受的答案。
    • @jgslima,你的测试结果如何?
    • 它不需要 JMS 2.0。事实上,在那之后我在 Spring (jira.spring.io/browse/SPR-17583) 中打开了一个问题,他们更新了文档以澄清这一点。
    猜你喜欢
    • 1970-01-01
    • 2016-09-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 2016-06-13
    • 2016-01-09
    • 1970-01-01
    • 2010-11-18
    相关资源
    最近更新 更多