Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-5534

Caching InitialContexts in JMS transport sender

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • JMS transport

    Description

      When using the JMS transport sender for sending messages to external broker it creates InitialContext per message. This is actually unnecessary since we can cache and use the same intialContext., and also some brokers behave strangely when re-creating the initialContext. This patch cache the InitalContext using the EPR as the key. User can specify to use caching using the property "transport.jms.CacheInitialContext" set to true. Synchronization has done as required since creating InitialContext is not thread safe and also JNDI look up.
      User has to define an Initial Context definition in the JMSTransport sender configuration as follows.

      <transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender">
      <parameter name="default" locked="false">
      <parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
      <parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>
      <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
      <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
      <parameter name="transport.jms.CacheLevel">producer</parameter>
      <parameter name="transport.jms.CacheInitialContext">true</parameter>
      </parameter>
      </transportSender>

      A related discusstions also can be found here: http://wso2.org/forum/thread/9281
      Some of the improvements in this patch was suggested by Paul Inglis who also submitted the patch for issue - https://issues.apache.org/jira/browse/AXIS2-4625

      Attachments

        1. AXIS2-4658.patch
          11 kB
          Rajika Kumarasiri
        2. AXIS2-4658.patch
          11 kB
          Rajika Kumarasiri

        Issue Links

          Activity

            People

              Unassigned Unassigned
              rajika Rajika Kumarasiri
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated: