camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pontus Ullgren <ullg...@gmail.com>
Subject Re: Consume files periodically or on demand
Date Wed, 09 Oct 2013 20:46:50 GMT
You could create the file consuming route with autoStart(false). Then have
a separate "controller" route that starts the first route on incoming
message.
Have a look at the Controlbus EIP[1]

[1] http://camel.apache.org/controlbus.html

// Pontus


On Wed, Oct 9, 2013 at 10:09 PM, christoffer <christoffer@k15t.com> wrote:

> Hi,
>
> thank you very much for your great input.
> I tried using the approach with pollEnrich - but that only consumes one
> file
> from the (potentially) many files.
>
> I figured out the following approach using pollEnrich
> from(demandFileConsumption).pollEnrich(fileEndpointName +
> "?sendEmptyMessageWhenIdle=true").choice()
> .when(body().isNull()).stop()
> .otherwise().wireTap(demandFileConsumption, false,
> constant("trigger")).to("mock:result").endChoice();
>
> demandFileConsumption is direct endpoint URI and fileEndpointName is a file
> endpoint URI. When I send a message to demandFileConsumption, this will
> consume the first file, which in turn trigger the consumption of the next
> file via the wireTap. If the source directory is drained of files the
> content based router shuts down the polling for files.
> This seems to work; is there a cleaner or more "camelish" approach. I think
> using the approach would basically be the same idea.
> Thanks for your input and keep ridin', chris
>
>
>
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Consume-files-periodically-or-on-demand-tp5741235p5741247.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message