Hi Nuwan,

Yes I configured jms url with failover. Actually I used failover syntax as
u asked me to change
(java.naming.provider.url=failover:(tcp://localhost:61616) or
 java.naming.provider.url=failover:tcp://localhost:61616)

Proxy config:

<address
uri="jms:/MyQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;
*java.naming.provider.url=failover:tcp://localhost:61616*
&amp;transport.jms.DestinationType=queue&amp;transport.jms.SessionTransacted=true&amp;transport.Transactionality=local"/>

I'm really sorry I didn't get your suggestion. Can you point out the error
within my config?

Regards,
Dilshani


On Thu, May 26, 2016 at 1:01 PM, Nuwan Wimalasekara <[email protected]> wrote:

> 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 <[email protected]>
> 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
>> [email protected]
>> 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
>
>
>
>


-- 
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
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to