2012-10-25 200 views
2

我不知道是否有一種方法可以讓駱駝做什麼,我需要的是如下定期處理一些輸入:如何使用Apache的駱駝

「定期從一些源中讀取數據(比方說,一個文件),做一些處理,並寫到其他地方「

我想出瞭如何做所有減去」週期性「部分。我知道如何使用Quartz或Timer觸發路線。但是,當我使用那些零件已經被拿走,所以我不能再改變身體。

有什麼建議嗎?

回答

4

你可以用定時器/石英啓動它,然後使用一個content enricherpolling consumer

//using timer/pollEnrich to populate the body with the polling results 
from("timer://foo?period=5000") 
    .pollEnrich("file:inbox") 
    .to("file:outbout"); 

//using time/polling consumer bean for more flexibility and multiple polling 
from("timer://foo?period=5000") 
    .bean(myPollingConsumerBean, "doIt"); 

public static class MyPollingConsumerBean { 
... 
    public void doIt() { 
     while (true) { 
     String msg = consumer.receiveBody("file:inbox", 3000, String.class); 
     if (msg == null) { 
      break; 
     } 
     producer.sendBody("file:outbox", msg); 
     } 
    } 
} 
+0

爲我工作。謝謝! –