We are using WSO2 ESB and as transport we have WebSphere MQ which is accessed using JMS. Problem is that each proxy service works in one thread with WebSphere MQ and because of that we have performance issues. How can we start multiple instances of proxy service without deploying multiple copies of it? Maybe there are some hidden configuration parameters?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
In addition to already mentioned parameter
<parameter name="transport.jms.ConcurrentConsumers">2</parameter>
you might need to add another one:
<parameter name="transport.jms.IdleTaskLimit">2147483647</parameter>
This parameter represents number of idle message read attempts per thread. When counter of such idle read attempts becomes equal to this parameter, the thread stops reading messages (if it is not the only reader).
Given that, setting this parameter to the upper limit of java int provides you with virtually infinite reading by all the threads.
回答2:
You should define this parameter in your proxy conf :
<parameter name="transport.jms.ConcurrentConsumers">2</parameter>
WSO2 use one consumer by default
Have a look there : http://mmalithh.blogspot.fr/2013_05_01_archive.html