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
<[email protected]>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
>