2014-05-09 165 views
0

Iam嘗試使用pythons stompclient向activemq發送消息。 https://bitbucket.org/hozn/stompclient/wiki/User%20Documentation 如果有一個更好的圖書館,這個我打開建議。 如果我更改爲IP或端口它將無法連接,所以即時通訊假設連接正在工作。當我運行這段代碼時,沒有任何錯誤,只是我看不到隊列中的消息。我認爲目標路徑可能在失敗的地方,activemq隊列的PhysicalName在這種模式'abc.queue_name'中。 我試過以下目的地無法用stompclient發送消息

/queue/abc/queue_name 
/queue/abc.queue_name 
abc.queue_name 

任何建議,非常感謝。 感謝

from stompclient import PublishClient 
client = PublishClient('IP', 53680) 

response = client.connect('defaultPassword', 'defaultUser') 
reponse1 = client.send('/queue/abc/queue_name', 'bla') 
time.sleep(5) 
+0

當您運行此代碼時,您是否收到任何錯誤? – Buchi

回答

0

你檢查過Web控制檯,看看你的隊列被髮送產生的?

您還應該嘗試將請求ID添加到發送並等待響應,這將確保代理在客戶端代碼斷開連接之前有足夠的時間獲取發送的數據。

您可能還想檢查代理日誌以查看是否有任何錯誤記錄或用戶沒有發佈權限時的任何安全警告。

+0

感謝您的回覆。我可以通過webconsole查看隊列,並可以通過webconsole將消息發送到隊列。 activemq日誌顯示此警告2014-05-09 14:06:34,928 |警告|傳輸連接到:tcp:// IP:端口失敗:java.io.IOException:Java堆空間| org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ NIO Worker 44146 – user1946337

+0

我猜測你是否已經耗盡了機器上的資源,或者你試圖將STOMP客戶端連接到代理上的OpenWire端口。 –

+0

資源很好,因爲我可以通過webconsole發送消息我怎麼知道這是OpenWire端口的情況 – user1946337

0

將此屬性添加到activemq.xml文件,現在即時通過Web控制檯在隊列中看到消息。

<transportConnector name="stomp" uri="stomp://0.0.0.0:61613"/>