我的原始问题是我想将System.currentTimeMillis()
用作fileName
的 Try1
{date:now:SimpleDateFormat}
不支持它。我可以用S
打印毫秒,但它与前一秒的差别。
的 Try2
尝试使用内联groovy dsl但出错了。我认为这是一种错误的方法,但我喜欢在Camel中使用内联脚本语言支持
<to uri="file://D:/Projects/?fileName=TestPipeline_$groovy{new Date()}.txt"/>
尝试3 现在我降低了我的期望,并考虑直接使用凹槽。第一次尝试使用Sping DSL example 只写作
<groovy>new Date()</groovy>
但是应用程序上下文无法识别groovy
标记。
Invalid content was found starting with element 'groovy'. One of
我正在使用Camel 2.9.2并在lib文件夹中包含camel-groovy-2.9.2.jar。
答案 0 :(得分:1)
我认为您在第3次尝试时遇到错误,因为<groovy>
仅允许<translate>
<setBody>
或<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"/>
希望这有帮助, 盖尔盖伊