当前位置: 首页 > 知识库问答 >
问题:

Apache camel,过滤器上的回调消息

姬昊焱
2023-03-14

我是骆驼技术的新手,我正在使用生产者模板将对象发送到队列。我已经定义了路由构建器对象,并且正在路由定义中使用过滤器。我的问题是,当过滤器返回 false 并且不让我的消息进入队列时,我应该使用什么来提供反馈消息。如何从模板生产者那里收到我的消息无效的通知?

示例伪代码:

@Produce
ProducerTemplate template;

class Route extends RouteBuilder
{
...
    public void configure() throws Exception
    {
        from("direct:start")
        .filter(...)
        .to("direct:myQueue");
    }
...
}

template.sendBodyAndHeaders(new Route(), myBody, myHeaders);

共有1个答案

韦望
2023-03-14

请参阅文档,有一个部分知道消息是否已被过滤

  • http://camel.apache.org/message-filter.html

要获得反馈,要么使用返回交换的生成器模板上的方法,要么更改路由,将过滤的交换属性设置为主体或头,以用作响应。

并在生产者模板上使用请求方法,因为它们适用于 InOut。

 类似资料:
  • 我正试图在我的RecyclerView中实现搜索过滤器,就像在这篇文章中一样 我已经对它进行了调试,它确实按照预期过滤了项目,但列表在应用程序中似乎没有改变。一、 E:我过滤一个名字,有7个结果,在屏幕上是原始列表。 我的 onCreateMenu活动选项是: 我的适配器如下所示: 我忘了什么? 提前致谢!

  • 我正试图在我的RecyclerView中实现搜索过滤器,就像在这篇文章中一样 我现在面临的主要问题是setOnQueryTextListener,在我的活动中:“在QueryTextListenerAdapter上找不到符号类”。这可能是我确实需要创造的东西,也可能是我没有在我的活动中实现的东西。它只是MainActivity扩展了AppCompatActivity。 我的 onCreateMen

  • 删除节点内指定的消息过滤器。 调用: web3.shh.deleteMessageFilter(id) 参数: id:String, 过滤器ID,shh.newMessageFilter()返回 返回值: Boolean: 成功时返回true,失败时返回false 示例代码: web3.shh.deleteMessageFilter('2b47fbafb3cce24570812a82e6e93c

  • 在节点内创建一个新的过滤器,可用于轮询匹配条件集的新消息。 调用: web3.shh.newMessageFilter(options) 参数: options:Object,其结构参阅web3.shh.subscribe()。 返回值: String: 过滤器ID 示例代码: web3.shh.newMessageFilter() .then(console.log); > "2b47fbaf

  • 问题内容: CSS转换完成后能否获得通知(如回调)? 问题答案: 我知道Safari实现了一个webkitTransitionEnd回调,您可以将其直接附加到带有过渡的元素上。 他们的示例(重新格式化为多行):

  • 问题内容: 我想在 angularjs 1.2中 使用unsafe-html 。没有html的过滤器可以工作,而html则不能。我做的事: 我在我的html头中添加了angular-sanitize: 我的角度模块: 我的HTML: 编辑:更新为 问题答案: 已在Angular 1.2中删除。由于您正确地清理了输入内容,因此应该使用。 示例:http://plnkr.co/edit/0bHeXra