Re: [Dev] [AS] [MB] Complexities in integrating AS with MB as JMS Transport is enabled for all the deployed services
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 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 > Softw
Re: [Dev] [AS] [MB] Complexities in integrating AS with MB as JMS Transport is enabled for all the deployed services
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 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 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 th
Re: [Dev] [AS] [MB] Complexities in integrating AS with MB as JMS Transport is enabled for all the deployed services
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 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 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 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 vi
Re: [Dev] [AS] [MB] Complexities in integrating AS with MB as JMS Transport is enabled for all the deployed services
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 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 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 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 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) >>