2014-01-16 65 views
0

我正在進入消息隊列最近(與ActiveMQ)和試驗。
ActiveMQ:消費者/生產者爲同一隊列實現不同的協議?

到目前爲止,我已經能夠建立一個生產者與2個用Java編寫的消費者在Tcp上實現JMS。生產者發送兩種類型的消息到ActiveMQ中的隊列中,而在另一端,來自不同機器的兩個消費者根據消息屬性選擇消息。

我的問題是:

  • 是否生產者/消費者需要實現相同的協議,或
    纔有可能有一個生產者將消息發送到隊列,JMS和 有一個客戶端(如節點js)使用另一種協議(如AMQP)並收集來自同一隊列的消息?

謝謝你的建議,

回答

2

也許回答你的問題是記錄在甲骨文的JMS as a MOM Standard

要注意,JMS是很重要的是API標準,而不是協議標準。因爲所有JMS客戶端都實現相同的接口,所以很容易將一個供應商的clinet移植到另一個供應商的JMS提供實現。 但是不同的JMS廠商通常不能直接相互溝通

+0

感謝您的澄清。得到它了。 – Alain

1

的ActiveMQ使用它自己的協議實現標準JMS客戶端庫(OpenWire)但是它也支持其他幾種協議允許客戶從其他客戶端連接等的MQTT客戶機,STOMP客戶端或一個AMQP客戶端和從一個消費/農產品隊列。

要了解如何使用AMQP,請參閱ActiveMQ docs,爲獲得最佳效果,請使用最新版本的ActiveMQ。