我们正在使用WSO2 ESB,并且作为传输,我们拥有使用JMS访问的WebSphere MQ。 问题是每个代理服务都在与WebSphere MQ的一个线程中工作,因此我们遇到了性能问题。 如何在不部署多个副本的情况下启动多个代理服务实例?也许有一些隐藏的配置参数?
答案 0 :(得分:1)
您应该在代理conf中定义此参数:
<parameter name="transport.jms.ConcurrentConsumers">2</parameter>
WSO2默认使用一个消费者
答案 1 :(得分:1)
除了已经提到的参数
<parameter name="transport.jms.ConcurrentConsumers">2</parameter>
您可能需要添加另一个:
<parameter name="transport.jms.IdleTaskLimit">2147483647</parameter>
此参数表示每个线程的空闲消息读取尝试次数。当这种空闲读取尝试的计数器变为等于此参数时,线程将停止读取消息(如果它不是唯一的读取器)。
鉴于此,将此参数设置为java int的上限可为所有线程提供几乎无限的读数。