2013-08-05 90 views
1

我想在我的項目中使用駱駝檢查文件的最後修改日期每xx分鐘使用駱駝的調度/計時器服務。駱駝檢查文件的最後修改日期使用調度服務

我讀文件組件似乎有一個輪詢函數,但也有一個駱駝定時器組件。

任何人有一些代碼示例,如果我想要做的要求?

回答

3

我會使用文件使用者終結點。

事情是這樣的:

file:c:/foldername?delay=5000 

這將掃描的文件夾,每5秒鐘文件,每個文件的路徑上發送消息。

您可能需要將以前的時間存儲在某處(例如文本文件或數據庫),然後將消息中傳遞的已修改變量與存儲在數據庫或文件中的已修改變量進行比較。

A的這個粗略的例子看起來像如下:

<route id="CheckFileRoute"> 
    <from uri="file:d:/RMSInbox?delay=5000&readLock=changed/> 
    <log message="${ file:modified }/> 
    <bean ref="CompareDates"/> 
    </route> 

文件消費者將會把有關在頭文件大量的信息,如修改日期。去閱讀的變量此鏈接查看更多細節在頭http://camel.apache.org/file2.html

的比較日期豆將Java類的行爲像處理器,該處理器將有一個這樣的結構:

public class CompareDates { 

@Handler 
public void CheckDates 
(
     @Body Object msgbody 
     , @Headers Map hdr 

) 
{ 

      Date newDate = (Date)hdr.get("CamelFileLastModified"); 
      Date oldDate = readfromfileorDatabase 
      if(newDate>oldDate) 
      { 
       //the date has changed look busy 
      } 
} 

希望這可以讓你去。

相關問題