Hi Dilshani,

 In your proxy config, you have defined a jms url with failover. Can you
please try the failover url syntax as one of bellow. I think it is due to
invalid url definition of failover for ActiveMQ.

Please refer[1] for failover url syntax in ActiveMQ

java.naming.provider.url=failover:(tcp://localhost:61616) or
 java.naming.provider.url=failover:tcp://localhost:61616,

[1] http://activemq.apache.org/failover-transport-reference.html

Thanks,
Nuwanw

On Wed, May 25, 2016 at 11:51 AM, Dilshani Subasinghe <dilsh...@wso2.com>
wrote:

> Hi ESB Team,
>
> I am testing JMS parameters and identified scenario of missing messages
> when using "transport.Transactionality" parameter.
>
> Configured axis2.xml as follows;
>
>   <transportReceiver name="jms"
> class="org.apache.axis2.transport.jms.JMSListener">
>         <parameter name="myTopicConnectionFactory" locked="false">
>                 <parameter name="java.naming.factory.initial"
> locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
>                 <parameter name="java.naming.provider.url"
> locked="false">failover:tcp://localhost:61616</parameter>
>                 <parameter name="transport.jms.ConnectionFactoryJNDIName"
> locked="false">TopicConnectionFactory</parameter>
>                 <parameter name="transport.jms.ConnectionFactoryType"
> locked="false">topic</parameter>
>                 <parameter name="transport.jms.DestinationType"
> locked="false">topic</parameter>
>
> * <parameter name="transport.Transactionality"
> locked="false">local</parameter>                <parameter
> name="transport.jms.SessionTransacted" locked="false">true</parameter>*
>         </parameter>
>
>         <parameter name="myQueueConnectionFactory" locked="false">
>                 <parameter name="java.naming.factory.initial"
> locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
>                 <parameter name="java.naming.provider.url"
> locked="false">failover: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.Transactionality"
> locked="false">local</parameter>                <parameter
> name="transport.jms.SessionTransacted" locked="false">true</parameter>*
>         </parameter>
>
>         <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">failover:tcp://localhost:61616</parameter>
>                 <parameter name="transport.jms.ConnectionFactoryJNDIName"
> locked="false">TopicConnectionFactory</parameter>
>                 <parameter name="transport.jms.ConnectionFactoryType"
> locked="false">topic</parameter>
>                 <parameter name="transport.jms.DestinationType"
> locked="false">topic</parameter>
>
> *  <parameter name="transport.Transactionality"
> locked="false">local</parameter>                <parameter
> name="transport.jms.SessionTransacted" locked="false">true</parameter>*
>         </parameter>
>     </transportReceiver>
>
> And aslo added same parameters to JMS sender too.
>
>   <transportSender name="jms"
> class="org.apache.axis2.transport.jms.JMSSender">
>            <parameter name="myTopicConnectionFactory" locked="false">
>                 <parameter name="java.naming.factory.initial"
> locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
>                 <parameter name="java.naming.provider.url"
> locked="false">failover:tcp://localhost:61616</parameter>
>                 <parameter name="transport.jms.ConnectionFactoryJNDIName"
> locked="false">TopicConnectionFactory</parameter>
>                 <parameter name="transport.jms.ConnectionFactoryType"
> locked="false">topic</parameter>
>                 <parameter name="transport.jms.DestinationType"
> locked="false">topic</parameter>
>
> *<parameter name="transport.Transactionality"
> locked="false">local</parameter>                <parameter
> name="transport.jms.SessionTransacted" locked="false">true</parameter>*
>         </parameter>
>
>         <parameter name="myQueueConnectionFactory" locked="false">
>                 <parameter name="java.naming.factory.initial"
> locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
>                 <parameter name="java.naming.provider.url"
> locked="false">failover: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.Transactionality"
> locked="false">local</parameter>                <parameter
> name="transport.jms.SessionTransacted"
> locked="false">true</parameter>        </parameter>*
>      </transportSender>
>
>
>    - Used activeMQ as JMS broker
>    - I used the scenario of "ESB as Both a JMS Producer and Consumer" [1]
>    - When testing that used external publisher to send messages to JMS
>    queue
>
> *Results:*
>
>    - *Messages will be missing when consuming through ESB.*(It may
>    publish 10000 messages to jms queue and only get around 100 or less number
>    of messages through ESB)
>
> *Further identifications:*
>
>    - *Tried with inbound endpoints. It works properly.*
>
> *Attachments:*
>
>    - inboundResult.png - This shows results with inbound endpoint.
>    - proxyResult.png - This shows results with proxy configuration.
>    - QueueProxy.xml -attached relevant proxy configuration.
>
> Any clarification on this situation ?
>
> [1]
> https://docs.wso2.com/display/ESB500/ESB+as+Both+a+JMS+Producer+and+Consumer
> Thank you.
>
> --
> Best Regards,
>
> Dilshani Subasinghe
> Software Engineer - QA
> WSO2, Inc.;http://wso2.com/
> <http://www.google.com/url?q=http%3A%2F%2Fwso2.com%2F&sa=D&sntz=1&usg=AFQjCNGJuLRux6KkJwXKVUCYOtEsNCmIAQ>
> lean.enterprise.middleware
> Mobile: +94773375185
> Blog: dilshanilive.blogspot.com
>
> _______________________________________________
> Dev mailing list
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
Nuwan Wimalasekara
Senior Software Engineer - Test Automation
WSO2, Inc.: http://wso2.com
lean. enterprise. middleware

phone: +94 71 668 4620
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to