java - 管理与 WSO2 Message Broker 的连接

标签 java wso2 messagebroker wso2-message-broker

我正在尝试此页面中的示例代码来测试将消息发布到 WSO2 消息代理:

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:对象 org.wso2.andes.client.AMQSession_0_8@79aa1855 已关闭

每次发布​​消息时都需要重新连接吗?

最佳答案

示例仅用于演示目的。由于 JMS 是相对较重的连接,因此不建议为每条消息建立连接。您只需修改代码即可使用同一 session 发送多条消息。根据所附代码,您可以使用简单的 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);
   }
}

关于java - 管理与 WSO2 Message Broker 的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39855800/

相关文章:

c# - 为拼字游戏的游戏实现设计灵活且可扩展的奖励系统

java - IDEA如何处理maven项目中的依赖关系?

ibm-mq - 使用带有 MQ 节点的 IBM Integration Bus 发布到主题

java - LMAX Disruptor 如何解决典型的消息代理问题?

java - 通过 HTTP 协议(protocol)替代 Kafka

java - 如果类具有参数化构造函数,为什么 Java 不提供默认构造函数?

Java 将带有参数化枚举的泛型类作为参数传递给另一个泛型对象

logging - WSO2 ESB 中的跟踪日志文件

wso2 - XACML 策略 - 是否正确?

encryption - 安全加载数据源时出错。解密数据时出错