我需要为IBM MQ编写简单的Java客户端。使用WebSphere MQ classes for Java(com.ibm.mq.jar
)而不是使用JMS的WebSphere MQ类(jms.jar
)在Java中编写MQ客户端有什么好处?
答案 0 :(得分:6)
IBM KnowledgeCenter上有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 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会为两种应用程序提供样本: