【问题标题】:How to find JMS version used in an application?如何查找应用程序中使用的 JMS 版本?
【发布时间】:2015-04-08 20:49:42
【问题描述】:

我有一个使用JMS api 的应用程序。使用的应用服务器是 jboss-5.0.0.CR2。有什么方法可以获取使用的 JMS 的版本吗?

【问题讨论】:

    标签: jboss jms version


    【解决方案1】:

    这里是区分 JMS 1.1 和 2.0 版本的方法。

    • JMS 2.0 API 包含三个新接口:JMSContext、 JMSProducer 和 JMSConsumer
    • JMSContext 替换了单独的 Connection 和 Session 对象 在 1.1 版中,只有一个对象。
    • JMSProducer 在 1.1 版中替换了 MessageProducer 对象
    • JMSConsumer 在 1.1 版中替换了 MessageConsumer 对象

    更多详情: http://www.oracle.com/technetwork/articles/java/jms20-1947669.html

    【讨论】:

    • 区分 2.0 和 1.1 是轻而易举的事,因为 JMS 2.0 仅受 Java EE 7 兼容容器支持。不需要看那么多细节。
    【解决方案2】:

    jboss-5.0.0.CR2 是应用服务器版本——不是 JMS 提供者。据我所知,HornetQ 是 JBoss 使用的 JMS 实现。无论如何,由于 JBoss 5 与 Java EE 5 兼容,因此 JMS API 版本必须为 1.0。 Java EE 6 与 JMS 1.1 保持一致,Java EE 7 具有最新的 JMS 规范版本,即 2.0

    【讨论】:

    • 我已经更正了。但是我发现 JBoss Messaging 是 JBoss AS 5.0 中使用的 JMS 提供程序 参考:stackoverflow.com/questions/1658388/jboss-jms-provider
    • 可能。但这没关系。无论实际提供者如何,JMS API 版本都将继续为 1.0
    • JMS 2.0 于 2013 年 4 月发布,是 Java EE 7 平台的一部分。 Java EE 5 & 6 中使用了 1.1 版
    • :-) 我想我已经在我的回答中提到了这一点(之前)。 Java EE 5 与 JMS 1.1 兼容——你说得对。 J2EE 1.4 及之前的版本与 JMS 1.0 保持一致。 Java EE 5 在 1.0 之上的维护版本中购买
    • 是的,阿布舍克,谢谢!我只是让它更清楚。我正在寻找如何区分 1.1 和 2.0 代码,因为这两个版本都可以在 JEE 7 中使用。正如你所说,当我使用 JBoss 5.X 时,我的代码绝对是 JMS 1.1 版
    猜你喜欢
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 2011-03-11
    • 2020-07-12
    • 2019-07-30
    • 2014-03-19
    相关资源
    最近更新 更多