Как фильтровать сообщения в Apache Camel - PullRequest
2 голосов
/ 17 мая 2011

В моей сборке приложения с использованием apache camel (mavenized, spring dsl) я читаю сообщения из очереди, около 3/5 сообщений необходимо отбрасывать в зависимости от некоторых условий в данных в полезной нагрузке.

Но я новичок в Apache Camel и не знаю, как вызвать метод бина и на основе возвращаемого значения (логическое значение), если true, переслать сообщение следующему бину для обработки.method) => (true) => Bean (данные процесса)

1 Ответ

3 голосов
/ 18 мая 2011

см. шаблон фильтра сообщений

from("jms:queue:start")
    .filter().method(MyBean.class, "isGoldCustomer").to("bean:process");

public static class MyBean {
    public boolean isGoldCustomer(@Header("level") String level) { 
        return level.equals("gold"); 
    }
}
...