Your solution could look like this:

Predicate predicate = new Predicate() {
    @Override
    public boolean matches(Exchange exchange) {
        // your filter logic
        return true/false;
    }
};

from("xxx")
    .filter(predicate)
    .to("yyy");

Best,
Christian

On Fri, Feb 24, 2012 at 5:56 AM, Ketan Barapatre
<ketanbarapa...@gmail.com>wrote:

> Hello All,
>
> I am reading mail using IMAP.
>
> public class MailRouteBuilder extends RouteBuilder {
>
> public void configure() throws Exception {
>
> from("imaps://imap.gmail.com?username=username&password=password
>  &delete=false&unseen=true&consumer.delay=100").process(new
> MailProcessor());
> }
>
> }
>
> public class MailProcessor implements org.apache.camel.Processor {
>
> public void process(Exchange exchange) throws Exception {
>
>           // I'm receiving message/mail here
>
>   Message message = exchange.getIn();
>  }
>
> }
>
>
> When I'm receiving mail I need to filter mail according to
>
> 1. To date and From date
> 2. Subject
> 3. Sender
>
> So that In my process method I will receive only filtered mails.
>
> For this I read Interceptors and Message Filters but did not understand it
> well.
>
> Please guide me How can I filter mails ?
>
> --
>
> Regards
> Ketan Barapatre
>

Reply via email to