【问题标题】:What is the benefit of using WebSphere MQ classes for Java rather than JMS?使用 Java 的 WebSphere MQ 类而不是 JMS 有什么好处?
【发布时间】:2016-01-05 14:40:56
【问题描述】:

我需要为 IBM MQ 编写简单的 Java 客户端。使用用于 Java 的 WebSphere MQ 类 (com.ibm.mq.jar) 而不是使用用于 JMS 的 WebSphere MQ 类 (jms.jar) 在 Java 中编写 MQ 客户端有什么好处?

【问题讨论】:

标签: java jms message-queue ibm-mq


【解决方案1】:

IBM 知识中心对此有 a short article。没有直截了当的“一个比另一个更好”的答案。两者之间的主要区别在于它们提供的 API。有一个合理的论点是,您应该根据自己最熟悉的 API 来选择使用哪一个。

JMS 客户端的 MQ 类实现 JMS 1.1 specification 和(对于 8.0 或更高版本)JMS 2.0 规范。在大多数情况下,这意味着您可以遵循有关如何编写好的 JMS 应用程序的非 IBM 文档。网络上有很多关于 JMS 的文档,因此您可以从其他 JMS 用户的广泛支持中受益。

Java 客户端的 MQ 类是专有的 IBM API,用于编写使用 IBM MQ 的消息传递应用程序。它提供了面向 C 的过程 MQ API 的等价物,并允许您访问 IBM MQ 中可用的所有消息传递特性。使用 Java 类编写应用程序会使您更多地了解 MQ 细节。例如,要打开一个队列以将消息放入其中,您需要指定 CMQC.MQOO_OUTPUT 选项,这是 MQ 开发人员熟悉但 JMS 开发人员不熟悉的内容。如果您打算了解 MQ 以及编写一个快速示例应用程序,那么 Java 类可能更适合。

此外,由于 JMS 类实现了一个开放标准,因此它们并不非常适合配置或使用 MQ 的所有专有特性或配置选项。可以在 JMS 类上设置特定于 MQ 的行为,但它不像 Java 的 MQ 类那样适合。

如果您只需要一个快速示例客户端,MQ 会为这两种应用程序提供示例:

  • 对于 JMS 的 MQ 类,在 [mq-install-root]/samp/jms/samples 中有示例(在 Unix)或 [mq-install-root]/Tools/jms/samples(在 Windows 上)。
  • 对于 Java 的 MQ 类,示例位于 [mq-install-root]/samp/wmqjava/samples(在 Unix 上)或 [mq-install-root]/Tools/wmqjava/samples

【讨论】:

    猜你喜欢
    • 2011-11-09
    • 2010-10-28
    • 1970-01-01
    • 2016-01-27
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 2015-10-10
    • 2015-06-19
    相关资源
    最近更新 更多