2012-07-25 110 views
1

我必須在python中爲ActiveMQ編寫監聽器。Python中的ActiveMQ監聽器

是否有任何可用於編寫監聽器的python軟件包。 什麼是Stomp/Openwire協議。當我啓動activemq時,我看到三個網址與協議即tcp,ssl,stomp。

任何幫助將不勝感激

編輯!:我的另一個問題是,假設我們以跺腳以及openwire協議啓動代理。讓我們說經紀人Url現在是tcp:// localhost:61616和stomp:// localhost:61613。所以現在經紀人正在監聽兩個不同的端口。我的問題是,如果一個生產者在tcp端口上發佈消息,那麼這個消息可能會被stomp端口上的用戶消費掉?另外如果兩個用戶分別在tcp和stomp上等待同一個隊列,他們都會收到消息嗎?

回答

1

對於python,你可以使用類似stomppy的東西,它可以讓你與STOMP意識到的任何代理進行交互操作。 ActiveMQ本身使用自己的openwire協議,但也可以談論STOMP和MQTT。您需要添加STOMP TransportConnector,請參閱ActiveMQ中的STOMP page

+0

雖然pyactivemq沒有更多的發展,但最新版本(0.1.0)穩定。我安裝了pyactivemq,但我得到pyactivemq.CMSException:OpenWireFormatNegotiator :: requestWire格式協商超時:對方沒有發送他的電線格式。此外,製作人是用Java編寫的,我只想寫一個消費者。另外我的問題是系統管理員只啓動了openwire協議,而不是stomp協議,因此我必須放棄STOMP.py,儘管我之前想過使用它。 @TimBish,我想你是pyactivemq的作者,你能否讓我弄清楚錯誤。 – 2012-07-25 16:24:59

+0

我不是pyActiveMQ的作者,原作者對項目沒有更多的興趣,所以它沒有被維護,並且不支持構建它的最新版本的ActiveMQ-CPP。我真的不知道最後的版本是什麼支持。你最好看看一直維護着的Stomp Python客戶端。 – 2012-07-25 17:46:07

+0

我在pyactivemq的討論主題中收到了您的意見。無論如何,使用Stomp python是我的最後一個選擇,因爲我將不得不與系統管理員討論以啓動該協議。還有兩個消費者一個隊列,都收到每個消息的副本......聽起來不對,或者它是? – 2012-07-26 04:04:28

0

最後,我使用STOMP python來監聽ActiveMQ代理。 PyActiveMq不穩定,因爲它不再被維護。