我正在添加新的驼峰路线xml。我无法将日期值输入到URI。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<route xmlns="http://www.myCompany.com/123/api/route/1.0">
//...some lines
....
<from>
<uri>...</uri>
....
.....
</from>
<to>
<uri>file://C:/mywork/${date:now:yyyy}-${date:now:MM}-${date:now:dd}</uri>
</to>
</route>
当我使用上面这个时获取CaughtExceptionType:groovy.lang.MissingPropertyException,CaughtExceptionMessage:没有这样的属性:yyyy for class:script1465913927580309309860,StackTrace:groovy.lang.MissingPropertyException:No such property:yyyy for class:script1465913927580309309860
在URI中我已经提到了yyyy-MM-dd格式的文件夹名称。我不知道如何在那里获取日期。总之,我希望将其作为&#39; C:/ myWork / 2011-01-01&#39;。我想到的问题是因为常规解析了“uri”这个问题。值 提前谢谢。
答案 0 :(得分:0)
我可能不会这样做。
如果您创建一个处理器并在那里构造文件名并将文件名写入Exchange.FILE_NAME标头,然后将数据发送到uri,那会更好:
<uri>file://C:/mywork</uri>
您可能希望稍后更改文件名或执行其他处理,并且在处理器中执行此操作更容易,并且从xml dsl隐藏它。
即使您想在xml dsl中创建它,我仍然认为对于动态文件名,您需要创建它并将其设置为该标题。
答案 1 :(得分:0)
尝试将日期格式更改为:$ {date:now:yyyy-MM-dd}此格式可让您在一次替换中表达所需的日期。
所以你的终端应该是这样的:
<to>
<uri>file://C:/mywork/${date:now:yyyy-MM-dd}</uri>
</to>
答案 2 :(得分:0)
使用动态路由。
使用<toD uri="/path/to/file/${date:now:yyyy-MM-dd}">
以便根据运行时值动态路由