簡體   English   中英

如何動態添加日期到駱駝路線xml'到uri'

[英]How to add date dynamically to camel route xml 'to uri'

我正在添加新的駱駝路線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用於類:script1465913927580309309860,StackTrace:groovy.lang.MissingPropertyException:無此類屬性:yyyy用於類:script146591392758080309309860

在URI中,我提到了yyyy-MM-dd格式的文件夾名稱。我不知道如何在那里獲取日期。 簡而言之,我想將uri設為“ C:/ myWork / 2011-01-01”。 我在想的問題是因為groovy解析了“ to uri”的價值。

我可能不會那樣做。

如果創建一個處理器並在其中構造文件名,然后將文件名寫入Exchange.FILE_NAME標頭,然后將數據發送到uri,那將更好。

<uri>file://C:/mywork</uri>

您可能需要稍后更改文件名或進行一些其他處理,在處理器中進行處理比較容易,並且將其從xml dsl中隱藏起來。

即使您想在xml dsl中創建它,我仍然認為對於動態文件名,您需要創建它並將其設置為該標頭。

嘗試將日期格式更改為:$ {date:now:yyyy-MM-dd}這種格式將使您可以一次替換所需的日期。

因此,您的端點應如下所示:

<to>
  <uri>file://C:/mywork/${date:now:yyyy-MM-dd}</uri>
</to>

使用動態路由。 使用<toD uri="/path/to/file/${date:now:yyyy-MM-dd}">以基於運行時值動態路由

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM