2012-06-06 123 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"); 

如果使用过滤器,将删除你不感兴趣的文件,这可能不是你想要的,该解决方案将只留下他们在该目录