2016-10-04 110 views
0

我從這個頁面嘗試樣本代碼來測試發佈消息到WSO2 Message Broker的:到WSO2 Message Broker的管理連接

https://docs.wso2.com/display/MB310/Sending+and+Receiving+Messages+Using+Queues

的示例代碼出現連接 - >發佈 - >斷開。

我認爲這不是生產代碼的典型設計。我試圖減少被調用每一次我發佈一條消息(幾次秒)時間的代碼,但它看起來像連接斷開並永遠不會重新確立:

public void publishMessage(String msg) throws NamingException, JMSException { 
    TextMessage textMessage = topicSession.createTextMessage(msg); 
    topicPublisher.publish(textMessage); 
} 

javax.jms.IllegalStateException:對象組織.wso2.andes.client.AMQSession_0_8 @ 79aa1855已關閉

我每次發佈消息時都需要重新連接嗎?

回答

1

樣品僅用於演示目的。由於JMS連接相對較重,因此不建議每條消息建立連接。您可以簡單地修改代碼以使用相同的會話發送多個消息。根據附加的代碼,您可以使用簡單的for循環發送5條消息。

public void publishMessage(String msg) throws NamingException, JMSException { 
    TextMessage textMessage = topicSession.createTextMessage(msg); 
    for(int i=0; i<5; i++){ 
     topicPublisher.publish(textMessage); 
    } 
} 
+0

謝謝 - 我在這個在我的代碼做我一定是做錯了,因爲我似乎有連接問題。我會重新閱讀並重試。 –

相關問題