0

I need to redirect the dead letters to a directory defined by the headers in the message.

I tried this:

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") + "/");

What I get is an URI like this: deadLetter\header{code1}\header{code2}\header{code3}\TIMESTAMP.msg

Is there a way to get those headers so I can build the route?

mpromonet
  • 11,326
  • 43
  • 62
  • 91
rogerbax
  • 33
  • 5

1 Answers1

0

You can add all the information on 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");

More information: http://camel.apache.org/simple.html

Panchitoboy
  • 810
  • 9
  • 18