Apache Camel不使用Groovy

时间:2013-06-13 13:27:37

标签: java spring apache-camel

我的原始问题是我想将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。

1 个答案:

答案 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"/>

希望这有帮助, 盖尔盖伊