使用Camel将java.util.Date存储在标头中作为java.util.Date

时间:2019-03-07 07:28:31

标签: xml spring apache-camel

我需要将当前日期存储在标题中,以便以后可以将其用于路由中的不同目的。在一个地方,我会用“ yyyyMMdd”,在另一个地方用“ yyMMdd”,在另一个地方用“ HHmmss”,在另一个地方用“ HHmmssSSS”,等等。

问题是,如果我将其存储在标头中,则会将其转换为其他内容。

我正在使用带有XML XML DSL的apache-camel。

如果我这样做:

<setHeader headerName="current.timestamp">
    <groovy resultType="java.util.Date">new Date()</groovy>
</setHeader>
...
<setHeader headerName="CamelFileName">
    <simple>file${date:header.current.timestamp:yyyyMMdd}T${date:header.current.timestamp:HHmmss}</simple>
</setHeader>

我收到一条错误消息:

java.lang.IllegalArgumentException: Cannot find java.util.Date object at command: header.current.timestamp

有人对此有解决方案吗?

1 个答案:

答案 0 :(得分:1)

问题与标题名称中的点有关。我删除了它,现在它可以工作了。