2015-10-08 71 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 /樣品
相關問題