2016-10-04 82 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

谢谢 - 我在这个在我的代码做我一定是做错了,因为我似乎有连接问题。我会重新阅读并重试。 –