camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Brunotte ...@lathspell.de>
Subject Re: Using Camel to quickly execute just one route?
Date Wed, 08 Feb 2017 10:57:37 GMT
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 <zoran@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 <cb@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-
> 
> 
> 

Mime
View raw message