Hi Shammi,

Thanks for this information. As the App Server 5.1.1 which comes with newly
changed JMS transport library is not released yet, i patched the
axis2-transport-jms_1.1.0.wso2v7 into AS 5.1.0 and now the integrations
works fine. However sample REST, JS services etc. still needs to be changed
in the services.xml file.

I have added the documentation in to [1] with explaining the necessary
configuration details.

Thanks!
Ishara

[1]  http://docs.wso2.org/wiki/display/MB210/Integrating+WSO2+AS


On Wed, Jun 19, 2013 at 1:21 PM, Shammi Jayasinghe <[email protected]> wrote:

> Hi Ishara,
>
> Yes, We are unable to support dynamic queues with AMQP 0-91 version.
> Because of that problem we have solved this issue in a different way.[1].
> If you get the latest JMS transport library in to the App Server, it should
> fix the problem of defining queue name in the jndi.properties file of the
> server. We have
> discussed this problem and the feasible solution in the mail thread "ESB
> and MB integration"
>
> Thanks
> Shammi
>
> [1]https://wso2.org/jira/browse/CARBON-14108
>
>
>
> On Wed, Jun 19, 2013 at 1:07 PM, Ishara Premadasa <[email protected]> wrote:
>
>> Hi,
>>
>> I am trying to integrate MB 2.1.0 with AS 5.1.0 in order to enable a
>> sample service deployed in App Server to be subscribed and receive messages
>> from a queue/topic registered in MB [1]. However when doing this there are
>> practical limitations in this scenario which makes it not useful to
>> integrate MB with App Server.
>>
>> As WSO2 MB currently do not have dynamic Queues/Topics support, it can't
>> dynamically create destinations when they are not defined in the JNDI
>> Initial Context. Once the JMS transport is enabled in App Server it tries
>> to create a JMS Queue for each deployed service in AS at the start up. As
>> there are no jms queues defined in jndi.properties file for these start up
>> services (except for the sample service which we going to use with MB) App
>> Server fails to start in this case and loops the following error in the
>> console.
>>
>> [2013-06-19 12:49:39,965]  INFO
>> {org.apache.axis2.transport.jms.ServiceTaskManager} -  Task manager for
>> service : JavaScriptStubGeneratorService [re-]initialized
>> [2013-06-19 12:49:39,985]  WARN {org.apache.axis2.transport.jms.JMSUtils}
>> -  Cannot locate destination : JavaScriptStubGeneratorService
>> [2013-06-19 12:49:39,993] ERROR
>> {org.apache.axis2.transport.base.threads.NativeWorkerPool} -  Uncaught
>> exception
>> java.lang.UnsupportedOperationException: The new addressing based sytanx
>> is not supported for AMQP 0-8/0-9 versions
>>     at
>> org.wso2.andes.client.AMQSession_0_8.handleAddressBasedDestination(AMQSession_0_8.java:572)
>>     at
>> org.wso2.andes.client.AMQSession.registerConsumer(AMQSession.java:2838)
>>     at org.wso2.andes.client.AMQSession.access$500(AMQSession.java:117)
>>     at org.wso2.andes.client.AMQSession$4.execute(AMQSession.java:2031)
>>     at org.wso2.andes.client.AMQSession$4.execute(AMQSession.java:1997)
>>     at
>> org.wso2.andes.client.AMQConnectionDelegate_8_0.executeRetrySupport(AMQConnectionDelegate_8_0.java:305)
>>     at
>> org.wso2.andes.client.AMQConnection.executeRetrySupport(AMQConnection.java:621)
>>     at
>> org.wso2.andes.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102)
>>     at
>> org.wso2.andes.client.AMQSession.createConsumerImpl(AMQSession.java:1995)
>>     at
>> org.wso2.andes.client.AMQSession.createConsumer(AMQSession.java:993)
>>     at
>> org.apache.axis2.transport.jms.JMSUtils.createConsumer(JMSUtils.java:642)
>>     at
>> org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.createConsumer(ServiceTaskManager.java:871)
>>     at
>> org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.getMessageConsumer(ServiceTaskManager.java:741)
>>     at
>> org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.receiveMessage(ServiceTaskManager.java:498)
>>     at
>> org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.run(ServiceTaskManager.java:420)
>>     at
>> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
>>     at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>     at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>     at java.lang.Thread.run(Thread.java:662)
>>
>>
>>
>> Therefore if we are going to integrate MB into AS need to do one of the
>> below two configuration options.
>>
>> 1. Go through all other deployed services in AS and modify the
>> services.xml file in order to only listen via http,https transports.
>> 2. Go through all other deployed services in AS and add a corresponding
>> queue name to jndi.properties file with each service name.
>>
>> Any option of this two is not feasible and not acceptable in user's
>> perspective as well as AS server will fail immediately if there is new
>> service is deployed on the run. Is there any way whether we can only enable
>> the JMS transport for a selected service only?
>>
>> In side note Apache ActiveMQ provides dynamic queue/topic support, [2]
>> so AS starts fine with ActiveMQ while ActiveMQ creates a queue in the
>> broker for each deployed service in AS. Hence as a workaround this can be
>> get worked if MB adds dynamic queue support, however the correct solution
>> would be add a configuration to enable/disable JMS transport in services,
>> as it is done in ESB proxy services.
>>
>> Thanks!
>> Ishara
>>
>>  [1] https://wso2.org/jira/browse/MB-238
>>  [2] http://activemq.apache.org/how-do-i-create-new-destinations.html
>>
>> --
>> Ishara Premasada
>> Software Engineer,
>> WSO2 Inc. http://wso2.com/
>> *Blog   :  http://isharapremadasa.blogspot.com/
>> Twitter       :  https://twitter.com/ishadil
>> Mobile       : +94 714445832*
>>
>>
>>
>
>
> --
> Best Regards,*
>
> Shammi Jayasinghe*
> Associate Tech Lead
> WSO2, Inc.; http://wso2.com,
> mobile: +94 71 4493085
>
>


-- 
Ishara Premasada
Software Engineer,
WSO2 Inc. http://wso2.com/
*Blog   :  http://isharapremadasa.blogspot.com/
Twitter       :  https://twitter.com/ishadil
Mobile       : +94 714445832*
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to