Hi

1)
There is an inflight repository you can use to see if there is any
messages currently in progress.
http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/spi/InflightRepository.html

You can get access to it from the CamelContext

2)
Also if the consumer is batch consumer
http://camel.apache.org/batch-consumer.html

Then the messages has details about the ordering in the batch. Then
you can "see" if its the last message or not. Then you can use that as
logic in your on completion.



On Tue, Apr 30, 2013 at 11:57 PM, Josiah Mangiameli
<josiah.mangiam...@urjanet.com> wrote:
> Hey all,
>
> I am looking for a way in Camel to start a context on a given route (which
> could be email, sftp, ftp or files) and not stop until all files/messages
> that meet the route criteria have been processed. I have not been able to
> find any built in functionality that would do this.
> The "sendEmptyMessageWhenIdle" would not work for email jobs and
> "OnCompletion" is triggered for every exchange that happens.
>
> My setup is very basic and is as detailed below?
>
>
>
>             context.addRoutes(new RouteBuilder() {
>                     public void configure() throws Exception{
>                         from(route).process(new FileProcessor());
>                     }
>                 });
>
>
>
>         context.start();
>         Thread.sleep(100000);
>
>         context.stop();
>
>
>
> Any help is appreciated.
> Regards,
> Josiah Mangiameli
>
>
> --
> Josiah Mangiameli
>
> Software Developer
> Urjanet Energy Solutions
>



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
FuseSource is now part of Red Hat
Email: cib...@redhat.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Reply via email to