我试用此页面中的示例代码来测试向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:Object org.wso2.andes.client.AMQSession_0_8@79aa1855已关闭
每次发布消息时是否需要重新连接?
答案 0 :(得分: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);
}
}