0

我最初的问题是我想System.currentTimeMillis()用作文件名。
尝试1

{date:now:SimpleDateFormat}

不支持。我可以打印毫秒,S但它与前一秒不同。
Try2 尝试使用内联 groovy dsl 但出现错误。我认为这是一种错误的方法,但我喜欢在 Camel 中提供内联脚本语言支持

<to uri="file://D:/Projects/?fileName=TestPipeline_$groovy{new Date()}.txt"/>

Try 3 现在我已经降低了我的期望,并考虑直接使用groove。作为第一次尝试Sping DSL示例 ,只需编写

<groovy>new Date()</groovy>

但是应用程序上下文不识别groovy标签。

Invalid content was found starting with element 'groovy'. One of

我正在使用 Camel 2.9.2 并将 camel-groovy-2.9.2.jar 包含在 lib 文件夹中。

4

1 回答 1

1

我认为您在第三次尝试时遇到了错误,因为<groovy>仅允许在<translate> <setBody>or中<setHeader>(可能还有其他选项)。

我会尝试类似的东西:

已编辑

<setHeader headerName="nowInMillis">
    <groovy>new Date().getTime()</groovy>
</setHeader>
<log message="/////////////// ${in.header.nowInMillis}" loggingLevel="INFO"/>
<to uri="file://D:/Projects/?fileName=TestPipeline_${in.header.nowInMillis}.txt"/>

希望这会有所帮助,格格利

于 2013-06-13T14:05:59.843 回答