2015-02-23 81 views
0

我需要将死信重定向到消息头中定义的目录。使用javaDSL从camel路由消息中获取头文件

我尝试这样做:

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是这样的:死信\ {头CODE1} \ {头CODE2} \ {头} CODE3 \ TIMESTAMP.msg

有一种获取这些标题的方法,以便我可以构建路线?

+0

我的回答可以帮助您? – Panchitoboy 2015-03-06 10:56:13

回答

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