3 votes

Comment filtrer les messages dans Apache Camel

Dans mon application construite en utilisant Apache Camel (mavenisé, spring dsl), je lis des messages d'une file d'attente. Environ 3/5 des messages doivent être rejetés en fonction de certaines conditions dans les données de la charge utile.

Mais je suis nouveau dans Apache Camel et je ne sais pas comment appeler la méthode d'un bean et, en fonction de la valeur de retour (boolean), si elle est vraie, transférer le message au bean suivant pour le traitement.

File d'attente JMS => Filtre (méthode du bean) => (vrai) => Bean (traiter les données)

3voto

boday Points 8589

Voir le modèle de filtre de message

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"); 
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X