You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by shindito <at...@gmail.com> on 2012/02/23 16:52:48 UTC

Routing from non existing JMS topics

Hello all,

As you know, ActiveMQ supports the following functionality:
If a client subscribes to a topic that currently does not exists on the JMS
provider, then this topic is automatically created and bound to the JMS
provider.

However, the JMS provider that we currently use, does not support this
functionality. 

And here comes the problem - when I create a route from a topic that does
not exist on the JMS provider, I expect to get a JMSException notifying
about the non existing destination. Unfortunately, this does not happen.
I've managed to configure the Camel context to inform me if the JMS provider
is down by setting the "testConnectionOnStartup" property of the JMS
component. It works just fine. But when I set this property and create a
route from a topic that does not exist no exception is thrown.

I've tried using try/catch blocks, onException and errorhandlers, but it
does not work since no exchange is ever created and all these techniques are
designed to handle errors that are thrown during the processing of messages.
In my case, no message is ever sent.

Is there anyway to catch these exceptions?

Thanks for your help!

Best regards,
Atanas

--
View this message in context: http://camel.465427.n5.nabble.com/Routing-from-non-existing-JMS-topics-tp5508426p5508426.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Routing from non existing JMS topics

Posted by Claus Ibsen <cl...@gmail.com>.
On Sat, Feb 25, 2012 at 11:35 PM, shindito <at...@gmail.com> wrote:
> Hi Narita,
>
> Thanks for the prompt reply.
>
> For my use case, however, I needed to have Camel notifying me about JMS
> related exceptions like InvalidDestinationException (thrown by JMS
> providers not supporting the automatical destination creation). The problem
> was that I've missed to setup an ExceptionListener on the JMSComponent.
> After setting it Camel started to forward InvalidDestinationExceptions to
> the specified Listener. I just wasn't aware of this part of the Camel JMS
> API.
>

See the JMS documentation, and use the errorHandler and
exceptionListener options.
http://camel.apache.org/jms

It may depend on the JMS client which kind of exception is being
thrown, and when that happens.
So you need to work your way and figure this out.

Also some JMS clients can be configured the check for errors eagerly
and synchronous so the client can thrown
back an exception during the send operation.



> Best regards,
> Atanas
>
> On Thu, Feb 23, 2012 at 5:59 PM, narita [via Camel] <
> ml-node+s465427n5508460h7@n5.nabble.com> wrote:
>
>> Related to -
>>
>> http://camel.465427.n5.nabble.com/NEWBIE-automatic-queues-creation-td5106080.html#a5106890
>>
>> Thanks.
>> Regards,
>> Narita
>>
>> -----Original Message-----
>> From: shindito [mailto:[hidden email]<http://user/SendEmail.jtp?type=node&node=5508460&i=0>]
>>
>> Sent: Thursday, February 23, 2012 9:23 PM
>> To: [hidden email] <http://user/SendEmail.jtp?type=node&node=5508460&i=1>
>> Subject: Routing from non existing JMS topics
>>
>> Hello all,
>>
>> As you know, ActiveMQ supports the following functionality:
>> If a client subscribes to a topic that currently does not exists on the
>> JMS provider, then this topic is automatically created and bound to the JMS
>> provider.
>>
>> However, the JMS provider that we currently use, does not support this
>> functionality.
>>
>> And here comes the problem - when I create a route from a topic that does
>> not exist on the JMS provider, I expect to get a JMSException notifying
>> about the non existing destination. Unfortunately, this does not happen.
>> I've managed to configure the Camel context to inform me if the JMS
>> provider is down by setting the "testConnectionOnStartup" property of the
>> JMS component. It works just fine. But when I set this property and create
>> a route from a topic that does not exist no exception is thrown.
>>
>> I've tried using try/catch blocks, onException and errorhandlers, but it
>> does not work since no exchange is ever created and all these techniques
>> are designed to handle errors that are thrown during the processing of
>> messages.
>> In my case, no message is ever sent.
>>
>> Is there anyway to catch these exceptions?
>>
>> Thanks for your help!
>>
>> Best regards,
>> Atanas
>>
>> --
>> View this message in context:
>> http://camel.465427.n5.nabble.com/Routing-from-non-existing-JMS-topics-tp5508426p5508426.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>> ***The information transmitted is intended only for the person or entity
>> to which it is addressed and may contain confidential and/or privileged
>> material. Any review,retransmission,dissemination or other use of, or
>> taking of any action in reliance upon, this information by persons or
>> entities other than the intended recipient is prohibited. If you received
>> this in error, please contact the sender and delete the material from any
>> computer.***
>>
>>
>> ------------------------------
>>  If you reply to this email, your message will be added to the discussion
>> below:
>>
>> http://camel.465427.n5.nabble.com/Routing-from-non-existing-JMS-topics-tp5508426p5508460.html
>>  To unsubscribe from Routing from non existing JMS topics, click here<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5508426&code=YXRhbmFzLnNoaW5kb3ZAZ21haWwuY29tfDU1MDg0MjZ8NDUyMzYxMTg=>
>> .
>> NAML<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Routing-from-non-existing-JMS-topics-tp5508426p5516001.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Re: Routing from non existing JMS topics

Posted by Christian Müller <ch...@gmail.com>.
Good to know you could solve the problem and share the solution with us.

Best,
Christian

On Sat, Feb 25, 2012 at 11:35 PM, shindito <at...@gmail.com> wrote:

> Hi Narita,
>
> Thanks for the prompt reply.
>
> For my use case, however, I needed to have Camel notifying me about JMS
> related exceptions like InvalidDestinationException (thrown by JMS
> providers not supporting the automatical destination creation). The problem
> was that I've missed to setup an ExceptionListener on the JMSComponent.
> After setting it Camel started to forward InvalidDestinationExceptions to
> the specified Listener. I just wasn't aware of this part of the Camel JMS
> API.
>
> Best regards,
> Atanas
>
> On Thu, Feb 23, 2012 at 5:59 PM, narita [via Camel] <
> ml-node+s465427n5508460h7@n5.nabble.com> wrote:
>
> > Related to -
> >
> >
> http://camel.465427.n5.nabble.com/NEWBIE-automatic-queues-creation-td5106080.html#a5106890
> >
> > Thanks.
> > Regards,
> > Narita
> >
> > -----Original Message-----
> > From: shindito [mailto:[hidden email]<
> http://user/SendEmail.jtp?type=node&node=5508460&i=0>]
> >
> > Sent: Thursday, February 23, 2012 9:23 PM
> > To: [hidden email] <http://user/SendEmail.jtp?type=node&node=5508460&i=1
> >
> > Subject: Routing from non existing JMS topics
> >
> > Hello all,
> >
> > As you know, ActiveMQ supports the following functionality:
> > If a client subscribes to a topic that currently does not exists on the
> > JMS provider, then this topic is automatically created and bound to the
> JMS
> > provider.
> >
> > However, the JMS provider that we currently use, does not support this
> > functionality.
> >
> > And here comes the problem - when I create a route from a topic that does
> > not exist on the JMS provider, I expect to get a JMSException notifying
> > about the non existing destination. Unfortunately, this does not happen.
> > I've managed to configure the Camel context to inform me if the JMS
> > provider is down by setting the "testConnectionOnStartup" property of the
> > JMS component. It works just fine. But when I set this property and
> create
> > a route from a topic that does not exist no exception is thrown.
> >
> > I've tried using try/catch blocks, onException and errorhandlers, but it
> > does not work since no exchange is ever created and all these techniques
> > are designed to handle errors that are thrown during the processing of
> > messages.
> > In my case, no message is ever sent.
> >
> > Is there anyway to catch these exceptions?
> >
> > Thanks for your help!
> >
> > Best regards,
> > Atanas
> >
> > --
> > View this message in context:
> >
> http://camel.465427.n5.nabble.com/Routing-from-non-existing-JMS-topics-tp5508426p5508426.html
> > Sent from the Camel - Users mailing list archive at Nabble.com.
> >
> > ***The information transmitted is intended only for the person or entity
> > to which it is addressed and may contain confidential and/or privileged
> > material. Any review,retransmission,dissemination or other use of, or
> > taking of any action in reliance upon, this information by persons or
> > entities other than the intended recipient is prohibited. If you received
> > this in error, please contact the sender and delete the material from any
> > computer.***
> >
> >
> > ------------------------------
> >  If you reply to this email, your message will be added to the discussion
> > below:
> >
> >
> http://camel.465427.n5.nabble.com/Routing-from-non-existing-JMS-topics-tp5508426p5508460.html
> >  To unsubscribe from Routing from non existing JMS topics, click here<
> http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5508426&code=YXRhbmFzLnNoaW5kb3ZAZ21haWwuY29tfDU1MDg0MjZ8NDUyMzYxMTg=
> >
> > .
> > NAML<
> http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml
> >
> >
>
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Routing-from-non-existing-JMS-topics-tp5508426p5516001.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>

Re: Routing from non existing JMS topics

Posted by shindito <at...@gmail.com>.
Hi Narita,

Thanks for the prompt reply.

For my use case, however, I needed to have Camel notifying me about JMS
related exceptions like InvalidDestinationException (thrown by JMS
providers not supporting the automatical destination creation). The problem
was that I've missed to setup an ExceptionListener on the JMSComponent.
After setting it Camel started to forward InvalidDestinationExceptions to
the specified Listener. I just wasn't aware of this part of the Camel JMS
API.

Best regards,
Atanas

On Thu, Feb 23, 2012 at 5:59 PM, narita [via Camel] <
ml-node+s465427n5508460h7@n5.nabble.com> wrote:

> Related to -
>
> http://camel.465427.n5.nabble.com/NEWBIE-automatic-queues-creation-td5106080.html#a5106890
>
> Thanks.
> Regards,
> Narita
>
> -----Original Message-----
> From: shindito [mailto:[hidden email]<http://user/SendEmail.jtp?type=node&node=5508460&i=0>]
>
> Sent: Thursday, February 23, 2012 9:23 PM
> To: [hidden email] <http://user/SendEmail.jtp?type=node&node=5508460&i=1>
> Subject: Routing from non existing JMS topics
>
> Hello all,
>
> As you know, ActiveMQ supports the following functionality:
> If a client subscribes to a topic that currently does not exists on the
> JMS provider, then this topic is automatically created and bound to the JMS
> provider.
>
> However, the JMS provider that we currently use, does not support this
> functionality.
>
> And here comes the problem - when I create a route from a topic that does
> not exist on the JMS provider, I expect to get a JMSException notifying
> about the non existing destination. Unfortunately, this does not happen.
> I've managed to configure the Camel context to inform me if the JMS
> provider is down by setting the "testConnectionOnStartup" property of the
> JMS component. It works just fine. But when I set this property and create
> a route from a topic that does not exist no exception is thrown.
>
> I've tried using try/catch blocks, onException and errorhandlers, but it
> does not work since no exchange is ever created and all these techniques
> are designed to handle errors that are thrown during the processing of
> messages.
> In my case, no message is ever sent.
>
> Is there anyway to catch these exceptions?
>
> Thanks for your help!
>
> Best regards,
> Atanas
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Routing-from-non-existing-JMS-topics-tp5508426p5508426.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
> ***The information transmitted is intended only for the person or entity
> to which it is addressed and may contain confidential and/or privileged
> material. Any review,retransmission,dissemination or other use of, or
> taking of any action in reliance upon, this information by persons or
> entities other than the intended recipient is prohibited. If you received
> this in error, please contact the sender and delete the material from any
> computer.***
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://camel.465427.n5.nabble.com/Routing-from-non-existing-JMS-topics-tp5508426p5508460.html
>  To unsubscribe from Routing from non existing JMS topics, click here<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5508426&code=YXRhbmFzLnNoaW5kb3ZAZ21haWwuY29tfDU1MDg0MjZ8NDUyMzYxMTg=>
> .
> NAML<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>


--
View this message in context: http://camel.465427.n5.nabble.com/Routing-from-non-existing-JMS-topics-tp5508426p5516001.html
Sent from the Camel - Users mailing list archive at Nabble.com.

RE: Routing from non existing JMS topics

Posted by Narita Bagchi <Na...@headstrong.com>.
Related to -
http://camel.465427.n5.nabble.com/NEWBIE-automatic-queues-creation-td5106080.html#a5106890

Thanks.
Regards,
Narita

-----Original Message-----
From: shindito [mailto:atanas.shindov@gmail.com]
Sent: Thursday, February 23, 2012 9:23 PM
To: users@camel.apache.org
Subject: Routing from non existing JMS topics

Hello all,

As you know, ActiveMQ supports the following functionality:
If a client subscribes to a topic that currently does not exists on the JMS provider, then this topic is automatically created and bound to the JMS provider.

However, the JMS provider that we currently use, does not support this functionality.

And here comes the problem - when I create a route from a topic that does not exist on the JMS provider, I expect to get a JMSException notifying about the non existing destination. Unfortunately, this does not happen.
I've managed to configure the Camel context to inform me if the JMS provider is down by setting the "testConnectionOnStartup" property of the JMS component. It works just fine. But when I set this property and create a route from a topic that does not exist no exception is thrown.

I've tried using try/catch blocks, onException and errorhandlers, but it does not work since no exchange is ever created and all these techniques are designed to handle errors that are thrown during the processing of messages.
In my case, no message is ever sent.

Is there anyway to catch these exceptions?

Thanks for your help!

Best regards,
Atanas

--
View this message in context: http://camel.465427.n5.nabble.com/Routing-from-non-existing-JMS-topics-tp5508426p5508426.html
Sent from the Camel - Users mailing list archive at Nabble.com.

***The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review,retransmission,dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.***