如何在apachecamel中过滤消息

发布于 2024-11-08 05:07:48 字数 258 浏览 1 评论 0原文

在我使用 apache Camel (mavenized, spring dsl) 构建的应用程序中,我正在读取来自 一个队列中,根据负载中数据的某些情况,大约有3/5的消息需要被丢弃。

但我是 apache Camel 的新手,不知道如何调用 bean 的方法并基于 返回值 (boolean) ,如果 true 将消息转发到下一个 bean 进行处理。

JMS队列=> Filter(Bean的方法)==> (true) =>Bean(处理数据)

In my application build using apache camel (mavenized, spring dsl) , i am reading messages from
a queue, about 3/5 of the messages need to be discarded based on some conditions in data in payload.

But i am new to apache camel and dont know how to call a bean's method and based on
return value (boolean) , if true forward the message to next bean for processing.

JMS queue => Filter (Bean's method) => (true) =>Bean(process data)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

决绝 2024-11-15 05:07:48

请参阅消息过滤模式

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

see the message filter pattern

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"); 
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文