WSO2 ESB's Java Message Service (JMS) transport allows you to easily send and receive messages to queues and topics of any JMS service that implements the JMS specification. The following sections describe how you can tune the JMS transport of WSO2 ESB for better performance.
...
To adjust the values of these properties, you can modify the server startup script if you want to increase the available threads for all NHTTP and JMS transports (requires more memory), or create a jms.properties
file if you want to increase the available threads just for the JMS transport. Both approaches are described below.
To increase the threads for
...
NHTTP and JMS transports
- Open the wso2server.sh or wso2server.bat file in your
<ESB_HOME>/bin
directory for editing. - Change the values of the properties as follows:
-Dlst_t_core=200
-Dlst_t_max=250
-Dsnd_t_core=200
-Dsnd_t_max=250
...
Add the following parameters to the JMS listener configuration of the <ESB_HOME>/repository/conf/axis2/axis2.xml
file:
Code Block | ||
---|---|---|
| ||
<parameter name="transport.jms.ConcurrentConsumers" locked="false">50</parameter> <parameter name="transport.jms.MaxConcurrentConsumers" locked="false">50</parameter> |
...
transport.jms.ConcurrentConsumers
: the concurrent threads that need to be started to consume messages when polling.transport.jms.MaxConcurrentConsumers
: the maximum number of concurrent threads to use during polling.
Note |
---|
The value for |
Anchor | ||||
---|---|---|---|---|
|
Add the following parameter to the JMS listener configuration of the <ESB_HOME>/repository/conf/axis2/axis2.xml
file to enable caching:
Code Block | ||
---|---|---|
| ||
<parameter name="transport.jms.CacheLevel">consumer</parameter> |
...
Add the following parameter to the JMS sender configuration of the <ESB_HOME>/repository/conf/axis2/axis2.xml
file:
Code Block | ||
---|---|---|
| ||
<parameter name="transport.jms.CacheLevel">producer</parameter> |
...