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 >