[mule-user] Mule 3.1.0-RC1 CE: How to use multiple JMS connectors?

0 views
Skip to first unread message

Sergey_Zh...@troika.ru

unread,
Dec 23, 2010, 5:57:17 AM12/23/10
to us...@mule.codehaus.org

Hi there,

Is it possible to use multiple JMS connectors in the same application?
I'd like to use the first one for persistent messages, and the seconds one for non persistent messages.

However, when I try to run an application with two JMS connectors exception occurs.

java.lang.IllegalStateException: There are at least 2 connectors matching protocol "jms", so the connector to use must be specified on the endpoint using the 'connector' property/attribute. Connectors in your configuration that support "jms" are: persistentConnector, nonPersistentConnector,
        at org.mule.transport.service.TransportFactory.getConnectorByProtocol(TransportFactory.java:179)
        at org.mule.endpoint.AbstractEndpointBuilder.getConnector(AbstractEndpointBuilder.java:585)
        at org.mule.endpoint.AbstractEndpointBuilder.getDefaultConnector(AbstractEndpointBuilder.java:412)
        at org.mule.endpoint.AbstractEndpointBuilder.getConnector(AbstractEndpointBuilder.java:407)
        at org.mule.endpoint.AbstractEndpointBuilder.doBuildOutboundEndpoint(AbstractEndpointBuilder.java:237)
        at org.mule.endpoint.AbstractEndpointBuilder.buildOutboundEndpoint(AbstractEndpointBuilder.java:113)
        at org.mule.endpoint.DefaultEndpointFactory.getOutboundEndpoint(DefaultEndpointFactory.java:89)
        at org.mule.module.client.MuleClient.getOutboundEndpoint(MuleClient.java:780)
        at org.mule.module.client.MuleClient.dispatch(MuleClient.java:272)
        at org.mule.module.client.MuleClient.dispatch(MuleClient.java:258)
        at xxx.MyProcessor.process(MyProcessor.java:44)
        at org.mule.processor.AsyncInterceptingMessageProcessor.process(AsyncInterceptingMessageProcessor.java:103)
        at org.mule.interceptor.AbstractEnvelopeInterceptor.process(AbstractEnvelopeInterceptor.java:55)
        at org.mule.interceptor.AbstractEnvelopeInterceptor.process(AbstractEnvelopeInterceptor.java:55)
        at org.mule.processor.AbstractFilteringMessageProcessor.process(AbstractFilteringMessageProcessor.java:41)
        at org.mule.construct.AbstractFlowConstruct$1$1.process(AbstractFlowConstruct.java:107)
        at org.mule.processor.ExceptionHandlingMessageProcessor.process(ExceptionHandlingMessageProcessor.java:23)
        at org.mule.transport.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:188)
        at org.mule.transport.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:161)
        at org.mule.transport.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:148)
        at org.mule.transport.vm.VMMessageReceiver.onCall(VMMessageReceiver.java:104)
        at org.mule.transport.vm.VMMessageDispatcher$1.doInTransaction(VMMessageDispatcher.java:89)
        at org.mule.transport.vm.VMMessageDispatcher$1.doInTransaction(VMMessageDispatcher.java:86)
        at org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:110)
        at org.mule.transport.vm.VMMessageDispatcher.doSend(VMMessageDispatcher.java:92)
        at org.mule.transport.AbstractMessageDispatcher.process(AbstractMessageDispatcher.java:75)
        at org.mule.transport.AbstractConnector$DispatcherMessageProcessor.process(AbstractConnector.java:2461)
        at org.mule.endpoint.outbound.OutboundResponsePropertiesMessageProcessor.process(OutboundResponsePropertiesMessageProcessor.java:39)
        at org.mule.processor.TransactionalInterceptingMessageProcessor$1.doInTransaction(TransactionalInterceptingMessageProcessor.java:49)
        at org.mule.processor.TransactionalInterceptingMessageProcessor$1.doInTransaction(TransactionalInterceptingMessageProcessor.java:46)
        at org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:110)
        at org.mule.processor.TransactionalInterceptingMessageProcessor.process(TransactionalInterceptingMessageProcessor.java:55)
        at org.mule.processor.AbstractFilteringMessageProcessor.process(AbstractFilteringMessageProcessor.java:41)
        at org.mule.endpoint.DefaultOutboundEndpoint.process(DefaultOutboundEndpoint.java:89)
        at org.mule.module.client.MuleClient.send(MuleClient.java:643)
        at org.mule.module.client.MuleClient.send(MuleClient.java:619)
        at org.mule.module.client.MuleClient.send(MuleClient.java:570)
        at xxx.MyJob.execute(MyJob.java:56)
        at org.mule.transport.quartz.jobs.CustomJob.execute(CustomJob.java:66)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)

Both endpoints references different connectors

<jms:endpoint name="persistent" connector-ref="persistentConnector" queue="persistentQueue"/>
<jms:endpoint name="nonPersistent" connector-ref=nonPersistentConnector" queue="nonPersistentQueue"/>


Best Regards,
Sergey

Dirk Olmes

unread,
Dec 23, 2010, 6:06:34 AM12/23/10
to us...@mule.codehaus.org
On 12/23/2010 11:57 AM, Sergey_Zh...@troika.ru wrote:
>
> Hi there,
>
> Is it possible to use multiple JMS connectors in the same
> application? I'd like to use the first one for persistent messages,
> and the seconds one for non persistent messages.
>
> However, when I try to run an application with two JMS connectors
> exception occurs.

So far everything looks correct. Post the full config, please, maybe you
are overlooking something.

-dirk

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email


Sergey_Zh...@troika.ru

unread,
Dec 23, 2010, 7:03:43 AM12/23/10
to us...@mule.codehaus.org

Hi Dirk,

Thanks for response.
I have found where the problem is.

Actually, I was trying to send a message by means of MuleClient class and my endpoint uri was not properly configured.
When uri has been changed to look like this jms://nonPersistentQueue?connector=nonPersistentConnector, everything began to work as expected.


Regards,
Sergey




Dirk Olmes <dirk....@mulesoft.com>

23.12.2010 14:06

Please respond to
us...@mule.codehaus.org

To
us...@mule.codehaus.org
cc
Subject
Re: [mule-user] Mule 3.1.0-RC1 CE: How to use multiple JMS connectors?


Reply all
Reply to author
Forward
0 new messages