Re: [Dev] [AS] [MB] Complexities in integrating AS with MB as JMS Transport is enabled for all the deployed services

2013-06-19 Thread Shammi Jayasinghe
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

2013-06-19 Thread Ishara Premadasa
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

2013-06-20 Thread Srinath Perera
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

2013-06-20 Thread Shammi Jayasinghe
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)
>>