Caching InitialContexts in JMS transport sender
-----------------------------------------------

                 Key: AXIS2-4658
                 URL: https://issues.apache.org/jira/browse/AXIS2-4658
             Project: Axis2
          Issue Type: Improvement
          Components: transports
            Reporter: Rajika Kumarasiri


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 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to