2012-06-06 170 views
1

首先:我是新手,駱駝:-)複製相關文件與Apache駱駝

我想看的XML文件的目錄,然後我想的是XML文件移動到另一個目錄和移動PDF文件具有相同文件名(但其他extention)到同一個目錄,然後做一些Java的東西。

什麼方法是把pdf文件的最好方法?

這是我目前擁有的路線:

from("file://C:/temp/camel/in?delete=true").filter(new Predicate() { 

     @Override 
    public boolean matches(final Exchange exchange) { 
       String filename = (String) exchange.getIn().getHeader("CamelFileRelativePath"); 
     return "xml".equals(FilenameUtils.getExtension(filename)); 
    } 
}) 
.to("file://C:/temp/camel/out").bean(ServiceBean.class, "callWebservice") 

謝謝!

+0

我猜你想忽略不是XML/PDF格式的文件? –

+0

我想看只有XML文件的目錄。我這樣做是這樣的:'從(文件:// C:/溫度/駝/中移動= /溫度/駱駝/輸出及moveFailed = /溫度/駱駝/錯誤與包括= * \\ .XML和延遲= 10000)'。我需要這個XML文件,因爲我需要將它發送到Web服務。在這個目錄中,有一個與xml文件相關的pdf文件。具有相同的文件名,但PDF擴展。我想在收到xml文件時將該pdf文件複製到相同的輸出目錄。目前,我已經使用Java代碼這樣做:'從(...)豆(FileService.class, 「movePdfToOut」)豆(WebServiceBean.class, 「呼」)'。 – cremersstijn

回答

0

你可以做到這一點不使用過濾器,但一個正則表達式過濾只有2個擴展的.xml和.pdf

from("file://C:/temp/camel/in?delete=true&?include=.*.xml|.*.zip")      
    .to("file://C:/temp/camel/out").bean(ServiceBean.class, "callWebservice"); 

如果使用過濾器,將刪除你不感興趣的文件,這可能不是你想要的,該解決方案將只留下他們在該目錄