0

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

我试过这个:

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

有没有办法获取这些标题,以便我可以构建路线?

4

1 回答 1

0

您可以在 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

于 2015-02-27T10:07:55.810 回答