使用WebSphere MQ类而不是JMS有什么好处?

1 java jms message-queue ibm-mq

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

Mat*_*ead 7

IBM KnowledgeCenter有一篇简短的文章.没有直接的"一个比另一个好"的答案.2之间的主要区别是它们提供的API.有一个合理的论据,你应该根据你最熟悉的API选择使用哪一个.

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

Java客户端的MQ类是专用的IBM API,用于编写使用IBM MQ的消息传递应用程序.它提供面向对象的过程MQ API for C,并允许您访问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类的Java,样本位于[mq-install-root]/samp/wmqjava/samples(在Unix上)或[mq-install-root]/Tools/wmqjava/samples