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