2015-10-08 72 views
1

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

+0

通常我会投这样的问题或关闭它,但正如马特在他的回答中指出的那样,在这种情况下实际上有一个权威的答案。这就是说,我强烈建议阅读[*我可以问什么问题?](http://stackoverflow.com/help/on-topic)和[*我应该避免问什么类型的问题?]( http://stackoverflow.com/help/dont-ask)在帮助中心获取指导。另请参阅[tag:websphere-mq]标记wiki以了解特定于标记的指导以及许多资源和参考。 –

回答

6

IBM知识中心对此有a short article。没有简单的“一个比另一个好”的答案。 2之间的主要区别是它们提供的API。有一个合理的论点,你应该根据你最喜欢的API选择使用哪一个。

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

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

此外,由于JMS类实现了开放标准,因此它们不适合配置或使用MQ的所有专有功能或配置选项。可以在JMS类上设置特定于MQ的行为,但它不适合作为Java的MQ类。

如果你想要的是一个快速的样本客户端,这两种应用程序的MQ船舶样本:

  • 对于MQ类JMS有样本[MQ安装根]/SAMP/JMS/samples(在Unix上的 )或[mq-install-root]/Tools/jms/samples(在Windows上)。
  • 对于MQ类Java的采样是 [MQ-安装根]/SAMP/wmqjava /样品(在Unix)或 [MQ-安装根] /工具/ wmqjava /样品
相关问题