Hi Shammi,

I thought we fixed the dynamic queue case by doing a explicit call from the
client to create the queue. Need to get this fixed in this release.

--Srinath


On Thu, Jun 20, 2013 at 10:38 AM, Ishara Premadasa <ish...@wso2.com> wrote:

> 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 <sha...@wso2.com>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 <ish...@wso2.com>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*
>
>
>


-- 
============================
Srinath Perera, Ph.D.
  Director, Research, WSO2 Inc.
  Visiting Faculty, University of Moratuwa
  Member, Apache Software Foundation
  Research Scientist, Lanka Software Foundation
  Blog: http://srinathsview.blogspot.com/
  Photos: http://www.flickr.com/photos/hemapani/
   Phone: 0772360902
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to