Just to say thanks to Claus and Ben.
I've ended up using @Producer with a direct component - it's not totally
free of Camel, but it has to have some kind of non-POJO thing in there
so that's OK.
Jim
On 14/07/2011 05:24, Claus Ibsen wrote:
On Wed, Jul 13, 2011 at 6:07 PM, James Talbut<jtalbut@tardis.spudsoft> wrote:
Hi,
I've got a processor that needs to call out to another Camel route (multiple
times) to get some data.
The complexities of when it calls out mean that it's not worth trying to put
all the logic into one route.
What's the best component to use to make a camel route into a synchronous
function that can be called from the same VM?
I could put a web service around the route and call that service from a normal
CXF client, but that seems a bit heavyweight.
I could use a direct component to start the route, but that isn't synchronous
InOut (or can it be made so?) and it requires me to implement CamelContextAware
(to get
the Endpoint) which is a bit ugly.
You can also use @Produce annotation to reduce the Camel API in your
code. And there are other ways. Check some of these links. And if you
got the Camel in Action book, you may want to check chapter 14.
http://camel.apache.org/pojo-producing.html
http://camel.apache.org/hiding-middleware.html
http://camel.apache.org/using-camelproxy.html
Thanks for any pointers.
Jim