You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@synapse.apache.org by Gerald Loeffler <ge...@googlemail.com> on 2007/03/12 13:10:40 UTC

listening on existing JBoss JMS topic

hi all,

following sample 110 i'm trying to listen to a pre-defined JMS topic
hosted by a JBoss application server instance. Synapse can connect to
JBoss JNDI allright, and it seems to lookup the JMS ConnectionFactory
(as specified in axis2.xml), but instead of looking up an existing
destination (topic) (as specified in synapse.xml) to listen to, it
seems to try to create a new queue.

this is against synapse 0.91. configuration details below.

does connecting the JMSListener to an existing topic (with proxy
property transport.jms.Destination) - rather than having it create its
own queue - actually work?

  any help is greatly appreciated,
  cheers,
  gerald

the error i'm getting:
--------------------------------------------
[main] INFO  SynapseModule - Synapse initialized successfully...!
[SynapseHTTPServer] Started HTTP on port : 8080
[main] ERROR JMSListener - Error starting connection factory : default
javax.jms.JMSException: This destination does not exist !QUEUE.synapse
        at org.jboss.mq.server.JMSDestinationManager.createQueue(JMSDestinationManager.java:613)
        at org.jboss.mq.server.JMSServerInterceptorSupport.createQueue(JMSServerInterceptorSupport.java:111)
        at org.jboss.mq.server.TracingInterceptor.createQueue(TracingInterceptor.java:259)
        at org.jboss.mq.server.JMSServerInvoker.createQueue(JMSServerInvoker.java:117)
        at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:136)
        at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:395)
        at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:398)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
        at java.lang.Thread.run(Thread.java:595)
org.apache.axis2.transport.jms.AxisJMSException: Error starting
connection factory : default
        at org.apache.axis2.transport.jms.JMSListener.handleException(JMSListener.java:410)
        at org.apache.axis2.transport.jms.JMSListener.start(JMSListener.java:300)
        at org.apache.axis2.engine.ListenerManager.addListener(ListenerManager.java:193)
        at org.apache.synapse.SynapseHTTPServer.main(SynapseHTTPServer.java:78)
Caused by: javax.jms.JMSException: This destination does not exist
!QUEUE.synapse
        at org.jboss.mq.server.JMSDestinationManager.createQueue(JMSDestinationManager.java:613)
        at org.jboss.mq.server.JMSServerInterceptorSupport.createQueue(JMSServerInterceptorSupport.java:111)
        at org.jboss.mq.server.TracingInterceptor.createQueue(TracingInterceptor.java:259)
        at org.jboss.mq.server.JMSServerInvoker.createQueue(JMSServerInvoker.java:117)
        at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:136)
        at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:395)
        at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:398)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
        at java.lang.Thread.run(Thread.java:595)
[SynapseHTTPServer] Startup failed...
--------------------------------------------

synapse.xml:
--------------------------------------------
<proxies>
  <proxy name="StockQuoteProxy" transports="jms">
    <property name="transport.jms.Destination" value="topic/MY_TOPIC"/>
      <wsdl key="proxy_wsdl"/>
    </proxy>
</proxies>
--------------------------------------------

axis2.xml:
--------------------------------------------
<transportReceiver name="jms"
class="org.apache.axis2.transport.jms.JMSListener">
  <parameter name="default" locked="false">
    <parameter name="java.naming.factory.initial" locked="false">
      org.jnp.interfaces.NamingContextFactory
    </parameter>
    <parameter name="java.naming.provider.url" locked="false">
      jnp://localhost:1099
    </parameter>
    <parameter name="java.naming.factory.url.pkgs" locked="false">
      org.jnp.interfaces:org.jboss.naming
    </parameter>
    <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">
      UIL2ConnectionFactory
    </parameter>
  </parameter>
</transportReceiver>
--------------------------------------------

-- 
http://www.gerald-loeffler.net

---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-user-help@ws.apache.org


Re: listening on existing JBoss JMS topic

Posted by Gerald Loeffler <ge...@googlemail.com>.
thanks Asankha - i've submitted a JIRA bug
(https://issues.apache.org/jira/browse/SYNAPSE-66) and will either go
for your workaround or wait for 1.0 RC1.

On 12/03/07, Asankha C. Perera <as...@wso2.com> wrote:
> Hi Gerald
>
> > WARN [12 Mar 13:15:20]  JMSConnectionFactory - Cannot find
> > destination : synapse Creating a Queue with this name
> > ERROR [12 Mar 13:15:20]  JMSListener - Error starting connection
> > factory : default
> > javax.jms.JMSException: This destination does not exist !QUEUE.synapse
> The cause of this issue is that it we for a Destination with a JNDI name
> of "synapse" to map into the special Axis2 service named "synapse" that
> we use internally. This is a defect from our part as this is not a
> service we want to target to the JMS transport when its enabled. As we
> use ActiveMQ for testing, we do not get this exception - since ActiveMQ
> creates any destination on demand. Could you file a JIRA for this? I
> will fix this ASAP
>
> Let me give you a workaround for the time being until you could move to
> the 1.0 RC 1 in the coming days. Could you create a Queue with a JNDI
> name "synapse" ? That should get you past this issue, so that your proxy
> service could start to listen on your destination of interest
>
> asankha
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: synapse-user-help@ws.apache.org
>
>


-- 
http://www.gerald-loeffler.net

---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-user-help@ws.apache.org


Re: listening on existing JBoss JMS topic

Posted by "Asankha C. Perera" <as...@wso2.com>.
Hi Gerald

> WARN [12 Mar 13:15:20]  JMSConnectionFactory - Cannot find
> destination : synapse Creating a Queue with this name
> ERROR [12 Mar 13:15:20]  JMSListener - Error starting connection
> factory : default
> javax.jms.JMSException: This destination does not exist !QUEUE.synapse
The cause of this issue is that it we for a Destination with a JNDI name 
of "synapse" to map into the special Axis2 service named "synapse" that 
we use internally. This is a defect from our part as this is not a 
service we want to target to the JMS transport when its enabled. As we 
use ActiveMQ for testing, we do not get this exception - since ActiveMQ 
creates any destination on demand. Could you file a JIRA for this? I 
will fix this ASAP

Let me give you a workaround for the time being until you could move to 
the 1.0 RC 1 in the coming days. Could you create a Queue with a JNDI 
name "synapse" ? That should get you past this issue, so that your proxy 
service could start to listen on your destination of interest

asankha

---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-user-help@ws.apache.org


Re: listening on existing JBoss JMS topic

Posted by Paul Fremantle <pz...@gmail.com>.
Maybe we need a flag on the properties whether to create or not if it
can't find the destination?

Paul

On 3/12/07, Gerald Loeffler <ge...@googlemail.com> wrote:
> On 12/03/07, Asankha C. Perera <as...@wso2.com> wrote:
> > Hi Gerald
> > > does connecting the JMSListener to an existing topic (with proxy
> > > property transport.jms.Destination) - rather than having it create its
> > > own queue - actually work?
> > Yes, this should work with 0.91
> >
> > Could you include the following line in your log4j.configuration file
> > and send me the output?
> > log4j.category.org.apache.axis2.transport.jms=DEBUG
> >
> > You should see a WARN message of "Cannot find destination..." before a
> > attempt is made to create a Queue (as for ActiveMQ this maybe the case)
>
> here is the more detailed log-output - thanks for looking into this!:
>
> ----------------------------------
> [SynapseHTTPServer] Started HTTP on port : 8080
>  INFO [12 Mar 13:15:19]  DefaultConnectionListener - Listening on port 8080
> DEBUG [12 Mar 13:15:19]  DefaultConnectionListener - Waiting for
> incoming HTTP connection
> DEBUG [12 Mar 13:15:19]  JMSConnectionFactory - Connected to the
> actual connection factory : UIL2ConnectionFactory
>  INFO [12 Mar 13:15:20]  JMSListener - JMS Transport Receiver
> (Listener) initialized...
> DEBUG [12 Mar 13:15:20]  JMSConnectionFactory - Connection factory :
> default initializing...
>  WARN [12 Mar 13:15:20]  JMSConnectionFactory - Cannot find
> destination : synapse Creating a Queue with this name
> ERROR [12 Mar 13:15:20]  JMSListener - Error starting connection
> factory : default
> javax.jms.JMSException: This destination does not exist !QUEUE.synapse
>         at org.jboss.mq.server.JMSDestinationManager.createQueue(JMSDestinationManager.java:613)
>         at org.jboss.mq.server.JMSServerInterceptorSupport.createQueue(JMSServerInterceptorSupport.java:111)
>         at org.jboss.mq.server.TracingInterceptor.createQueue(TracingInterceptor.java:259)
>         at org.jboss.mq.server.JMSServerInvoker.createQueue(JMSServerInvoker.java:117)
>         at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:136)
>         at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:395)
>         at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:398)
>         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
>         at java.lang.Thread.run(Thread.java:595)
> -----------------------------------------
>
> >
> > asankha
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: synapse-user-help@ws.apache.org
> >
> >
>
>
> --
> http://www.gerald-loeffler.net
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: synapse-user-help@ws.apache.org
>
>


-- 
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

http://bloglines.com/blog/paulfremantle
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-user-help@ws.apache.org


Re: listening on existing JBoss JMS topic

Posted by Gerald Loeffler <ge...@googlemail.com>.
On 12/03/07, Asankha C. Perera <as...@wso2.com> wrote:
> Hi Gerald
> > does connecting the JMSListener to an existing topic (with proxy
> > property transport.jms.Destination) - rather than having it create its
> > own queue - actually work?
> Yes, this should work with 0.91
>
> Could you include the following line in your log4j.configuration file
> and send me the output?
> log4j.category.org.apache.axis2.transport.jms=DEBUG
>
> You should see a WARN message of "Cannot find destination..." before a
> attempt is made to create a Queue (as for ActiveMQ this maybe the case)

here is the more detailed log-output - thanks for looking into this!:

----------------------------------
[SynapseHTTPServer] Started HTTP on port : 8080
 INFO [12 Mar 13:15:19]  DefaultConnectionListener - Listening on port 8080
DEBUG [12 Mar 13:15:19]  DefaultConnectionListener - Waiting for
incoming HTTP connection
DEBUG [12 Mar 13:15:19]  JMSConnectionFactory - Connected to the
actual connection factory : UIL2ConnectionFactory
 INFO [12 Mar 13:15:20]  JMSListener - JMS Transport Receiver
(Listener) initialized...
DEBUG [12 Mar 13:15:20]  JMSConnectionFactory - Connection factory :
default initializing...
 WARN [12 Mar 13:15:20]  JMSConnectionFactory - Cannot find
destination : synapse Creating a Queue with this name
ERROR [12 Mar 13:15:20]  JMSListener - Error starting connection
factory : default
javax.jms.JMSException: This destination does not exist !QUEUE.synapse
        at org.jboss.mq.server.JMSDestinationManager.createQueue(JMSDestinationManager.java:613)
        at org.jboss.mq.server.JMSServerInterceptorSupport.createQueue(JMSServerInterceptorSupport.java:111)
        at org.jboss.mq.server.TracingInterceptor.createQueue(TracingInterceptor.java:259)
        at org.jboss.mq.server.JMSServerInvoker.createQueue(JMSServerInvoker.java:117)
        at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocketManagerHandler.java:136)
        at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.java:395)
        at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:398)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
        at java.lang.Thread.run(Thread.java:595)
-----------------------------------------

>
> asankha
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: synapse-user-help@ws.apache.org
>
>


-- 
http://www.gerald-loeffler.net

---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-user-help@ws.apache.org


Re: listening on existing JBoss JMS topic

Posted by "Asankha C. Perera" <as...@wso2.com>.
Hi Gerald
> does connecting the JMSListener to an existing topic (with proxy
> property transport.jms.Destination) - rather than having it create its
> own queue - actually work?
Yes, this should work with 0.91

Could you include the following line in your log4j.configuration file 
and send me the output?
log4j.category.org.apache.axis2.transport.jms=DEBUG

You should see a WARN message of "Cannot find destination..." before a 
attempt is made to create a Queue (as for ActiveMQ this maybe the case)

asankha

---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-user-help@ws.apache.org