Hi Srinath, As i pointed out in the issue [1] i have fixed it as discussed and committed to svn. Here there problem is , The fix will be available with AS 5.1.1 and if we are using the released version , we ll have to use a patched jms transport library.
Thanks Shammi [1]https://wso2.org/jira/browse/CARBON-14108 On Thu, Jun 20, 2013 at 7:54 PM, Srinath Perera <[email protected]> wrote: > 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 <[email protected]>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 <[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* >> >> >> > > > -- > ============================ > 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 > -- Best Regards,* Shammi Jayasinghe* Associate Tech Lead WSO2, Inc.; http://wso2.com, mobile: +94 71 4493085
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
