You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Michael Dewitte <mi...@gmail.com> on 2011/04/05 14:44:53 UTC

Routing from restlet to activemq

Hi,

I'd like to have a rest interface for my clients to publish events on a
topic (with some transformation and filtering in between). To do that, I
thought about using a route like this :
<camel:camelContext xmlns="http://camel.apache.org/schema/spring">
<route id="MyEventGateway">
<from uri="restlet:http://localhost:9080/Events?restletMethod=post"/>
<to uri="log:events" />
<to uri="activemq:topic:VirtualTopic.EventGateway"/>
</route>
</camel:camelContext>

But as restlet is an InOut endpoint, it seems by default to create a temp
queue to receive a response that is never sent, resulting in a timeout that
the client gets ("ExchangeTimedOutException: The OUT message was not
received within: 20000 millis.")

My question are :
- how can I sent the response to restlet ?
- is there a way to have a direct response to the rest client, just a simple
ack, so that I can process further without having to send a response ?
- what is the RobustInOnly Message Exchange Pattern ? I haven't found
explaination nor on the site nor in the book...
- Maybe have you got a better way of doing what I want ?

Thanks for any help,

Mike

Re: Routing from restlet to activemq

Posted by Michael Dewitte <mi...@gmail.com>.
Ah ! thanks, it worked ! ;-)

Mike


2011/4/6 Björn Bength <bj...@gmail.com>

> Hi,
>  you should be able to use
> <inOnly uri="activemq:topic:VirtualTopic.EventGateway"/>
>
> or use at <setExchangePattern pattern="InOnly" />
>
>
> On Tue, Apr 5, 2011 at 2:44 PM, Michael Dewitte
> <mi...@gmail.com> wrote:
> > Hi,
> >
> > I'd like to have a rest interface for my clients to publish events on a
> > topic (with some transformation and filtering in between). To do that, I
> > thought about using a route like this :
> > <camel:camelContext xmlns="http://camel.apache.org/schema/spring">
> > <route id="MyEventGateway">
> > <from uri="restlet:http://localhost:9080/Events?restletMethod=post"/>
> > <to uri="log:events" />
> > <to uri="activemq:topic:VirtualTopic.EventGateway"/>
> > </route>
> > </camel:camelContext>
> >
> > But as restlet is an InOut endpoint, it seems by default to create a temp
> > queue to receive a response that is never sent, resulting in a timeout
> that
> > the client gets ("ExchangeTimedOutException: The OUT message was not
> > received within: 20000 millis.")
> >
> > My question are :
> > - how can I sent the response to restlet ?
> > - is there a way to have a direct response to the rest client, just a
> simple
> > ack, so that I can process further without having to send a response ?
> > - what is the RobustInOnly Message Exchange Pattern ? I haven't found
> > explaination nor on the site nor in the book...
> > - Maybe have you got a better way of doing what I want ?
> >
> > Thanks for any help,
> >
> > Mike
> >
>

Re: Routing from restlet to activemq

Posted by Björn Bength <bj...@gmail.com>.
Hi,
 you should be able to use
<inOnly uri="activemq:topic:VirtualTopic.EventGateway"/>

or use at <setExchangePattern pattern="InOnly" />


On Tue, Apr 5, 2011 at 2:44 PM, Michael Dewitte
<mi...@gmail.com> wrote:
> Hi,
>
> I'd like to have a rest interface for my clients to publish events on a
> topic (with some transformation and filtering in between). To do that, I
> thought about using a route like this :
> <camel:camelContext xmlns="http://camel.apache.org/schema/spring">
> <route id="MyEventGateway">
> <from uri="restlet:http://localhost:9080/Events?restletMethod=post"/>
> <to uri="log:events" />
> <to uri="activemq:topic:VirtualTopic.EventGateway"/>
> </route>
> </camel:camelContext>
>
> But as restlet is an InOut endpoint, it seems by default to create a temp
> queue to receive a response that is never sent, resulting in a timeout that
> the client gets ("ExchangeTimedOutException: The OUT message was not
> received within: 20000 millis.")
>
> My question are :
> - how can I sent the response to restlet ?
> - is there a way to have a direct response to the rest client, just a simple
> ack, so that I can process further without having to send a response ?
> - what is the RobustInOnly Message Exchange Pattern ? I haven't found
> explaination nor on the site nor in the book...
> - Maybe have you got a better way of doing what I want ?
>
> Thanks for any help,
>
> Mike
>