Apache Camel不会在源文件夹中保留文件

时间:2014-12-18 05:38:47

标签: java apache-camel

在处理Apache Camel时,无论何时使用camel-zip压缩文件或通过canel-ftp复制文件,Camel都会将文件移动到 .Camel 文件夹中,并且在处理后不会将其保留在源文件夹中。 我希望我的文件在处理完成后留在源文件夹中。 请告知如何实现同样的目标。

CamelContext context = new DefaultCamelContext();         context.addRoutes(new RouteBuilder(){

        @Override
        public void configure() throws Exception {

            from("file:src/main/zip?delete=false").marshal().zipFile()
                    .to("file:C:/Users/kdewan/Desktop");
        }

    });
    context.start();
    Thread.sleep(5000);
    context.stop();

2 个答案:

答案 0 :(得分:3)

Camel将文件移动到 .Camel 目录中,以避免多次处理同一文件。 Ftp组件继承了file component的所有选项,因此可以将不同的位置设置为存档目录:

ftp:...&move=directory/archive&moveFailed=directory/error

move :是存储已处理文件的存档目录

moveFailed :是处理期间发生错误的目录

我相信同样的逻辑也可以用于camel-zip。

当我使用文件组件时,我在我的文件系统上创建了这个结构,以便更好地监控:

-- basic/Directory
---- /working
---- /archive
---- /error

答案 1 :(得分:2)

请检查Camel-File组件中的" noop" 属性。
默认情况下,它是" false" 因此它会将已处理的文件夹移动到.camel。
如果您不想将其移入.camel文件夹,请将其设为" noop"财产"真"