Hi,
There's no need for two routes, unless your use case is more complex
than the example you provided.

You can just use something like this:

context.start();

/* Now camel is ready */

ProducerTemplate template = context.createProducerTemplate();

String result = template.requestBody("direct:blah", null, String.class);

/* This will block until your route produces something */


context.stop()


2017-02-08 11:57 GMT+01:00 Christian Brunotte <c...@lathspell.de>:
> Hello Zoran
>
> So what you propose is (in pseudocode):
>
> RouteBuilder builder = new RouteBuilder() {
>         from("direct:start")
>         .enrich("file://src/main/resources/inputs/test.txt")
>         ...
>         .to("direct:result");
> }
>
> CamelContext camel = new DefaultCamelContext();
> camel.addRoutes(simpleRoute);
> camel.start();
> camel.createProducer().send("direct:start");
> String result = camel.createConsumer().receiveBody("direct:result", 
> String.class);
> camel.stop();
>
> That would start the Camel Engine but it would wait for a command
> ("direct:start") before it does anything and then would have to be
> manually be polled, correct?
>
> Best Regards,
>
> -christian-
>
> Am Wed, 8 Feb 2017 09:41:24 +0100
> schrieb Zoran Regvart <zo...@regvart.com>:
>
>> Hi Christian,
>> bare in mind that you can have control if you use direct component, so
>> having Camel context/routes started, doesn't mean that it needs to
>> poll in the background, you can do that on demand,
>>
>> HTH,
>>
>> zoran
>>
>> On Tue, Feb 7, 2017 at 10:56 PM, Christian Brunotte <c...@lathspell.de> 
>> wrote:
>> > Hello
>> >
>> > I'd like to integrate Apache Camel into an existing project and just
>> > use some of it's endpoint capabilities (ftp, file, sftp etc.) to
>> > fetch some files and maybe validate them a bit.
>> >
>> > I don't want Camel to act as the main controller that dispatches
>> > everything in the background.
>> >
>> > Is it possible to use Camel in a very simplistic and lean way like e.g.:
>> >
>> >     RouteBuilder simpleRoute = new RouteBuilder() {
>> >         @Override
>> >         public void configure() {
>> >             
>> > from("file://src/main/resources/inputs/?include=input.*\\.txt&noop=true")
>> >                 .convertBodyTo(String.class)
>> >                 .validate(body().regex("..."));
>> >         }
>> >     };
>> >
>> >     String result = 
>> > CamelContext.createSimpleConsumerTemplate(simpleRoute).receiveBody(String.class);
>> >
>> > Currently it seems that I still have to add the route to the CamelContext,
>> > start it, then call my ConsumerTemplate and after that stop the context.
>> >
>> > Best Regards
>> >
>> > -christian-
>>
>>
>>

Reply via email to