Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

  • Add the following parameters to the JMS listener configuration of the <ESB_HOME>/repository/conf/axis2/axis2.xml file:

    Code Block
    languagexml
    <parameter name="transport.jms.ConcurrentConsumers" locked="false">50</parameter> 
    <parameter name="transport.jms.MaxConcurrentConsumers" locked="false">50</parameter>

...

  • Add the following parameter to the JMS listener configuration of the <ESB_HOME>/repository/conf/axis2/axis2.xml file:

    Code Block
    languagexml
    <parameter name="transport.jms.CacheLevel">consumer</parameter>

    The possible values for the cache level are none, auto, connection, session and consumer. Out of the possible values, consumer is the highest level that provides maximum performance.

...

  • Add the following parameter to the JMS sender configuration of the <ESB_HOME>/repository/conf/axis2/axis2.xml file:

    Code Block
    languagexml
    <parameter name="transport.jms.CacheLevel">producer</parameter>

    The possible values for the cache level are noneautoconnectionsession and producer. Out of the possible values, producer is the highest level that provides maximum performance.

...

Remove ClientApiNonBlocking when sending messages via JMS

By default, Axis2 spawns a new thread to handle each outgoing message. To change this behavior, you need to remove the ClientApiNonBlocking property from the message.

...