【问题标题】:Obtaining header from message in camel route using javaDSL使用javaDSL从骆驼路由中的消息中获取标头
【发布时间】:2015-04-24 22:38:08
【问题描述】:

我需要将死信重定向到消息中标题定义的目录。

我试过了:

errorHandler(deadLetterChannel("direct:dead"));

from("direct:dead")
    .setHeader("CamelFileName", simple(
            new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime()) + ".msg"
    ))
.to("/deadLetter/" +    header("code1") + "/" +   
                        header("code2") + "/" + 
                        header("code3") + "/");

我得到的是这样的 URI:deadLetter\header{code1}\header{code2}\header{code3}\TIMESTAMP.msg

有没有办法获取这些标头以便我可以构建路由?

【问题讨论】:

    标签: java routing apache-camel dead-letter


    【解决方案1】:

    您可以在 CamelFileName 上添加所有信息:

    errorHandler(deadLetterChannel("direct:dead"));
    
    from("direct:dead").setHeader("CamelFileName", simple("${header.code1}/${header.code2}/${header.code3}/${date:now:yyyyMMdd_HHmmss}.msg").to("file:/deadLetter");
    

    更多信息:http://camel.apache.org/simple.html

    【讨论】:

      猜你喜欢
      • 2014-10-06
      • 2020-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-04
      • 2020-06-13
      • 2015-09-27
      • 1970-01-01
      相关资源
      最近更新 更多