【问题标题】:Apache Camel: Help in understanding route behaviourApache Camel:帮助理解路由行为
【发布时间】:2013-09-09 13:41:47
【问题描述】:

我是 Apache Camel 的新手,我正在开始学习它。

我对以下路线有疑问:

   from()  
            .unmarshal()    
                    .filter().javaScript()    
                            .setHeader()          
                            .convertBodyTo()  
                            .to();

当我运行它时, filter() 被应用;如果 filter() 返回 true,则一切正常;如果 filter() 返回 false,则绕过 setHeader() 和 convertTo() 步骤,但不绕过 to() 步骤。

我在 Java SE 应用程序中使用 Camel 2.11.1。

问候, 亚历山德罗

【问题讨论】:

  • 我无法重现您的情况。过滤器适用于我的路线。也许您应该尝试删除路由中的某些元素并添加日志消息(.log() 或 .to("log:loggerpackage")),以查看是哪一个对此负责。如果过滤器错误,您也可以尝试使用choice()。
  • 这个问题也发布在 Camel 邮件列表中!
  • @ClausIbsen:是的,我做到了……

标签: java apache-camel


【解决方案1】:

问题出在 from() 生产者身上。在启用http://camel.apache.org/tracer.html 中的所有跟踪选项后,我能够理解发生了什么。

生产者的实际代码是:

from("mina2:udp://<ip address>:514")

不知何故,对于 mina 和 mina2,源消息在随机端口和端口 514 之间“回显”。

使用 Netty 一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    • 2021-08-26
    • 1970-01-01
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多