Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ApacheCamel:防止写入文件时空间不足_Java_Apache_Apache Camel - Fatal编程技术网

Java ApacheCamel:防止写入文件时空间不足

Java ApacheCamel:防止写入文件时空间不足,java,apache,apache-camel,Java,Apache,Apache Camel,我正在使用ApacheCamel在tomcat文件夹中创建一个文件队列,以便将大量数据发布到rest服务。如果端点在几天内不可用,而您的磁盘空间不足,因为它不断生成新文件,该怎么办?如何防止这种情况发生?实现自定义以确保在写入文件之前有足够的可用空间 大概是这样的: private static final Predicate IS_ENOUGH_SPACE = exchange -> { return new File(Paths.get("").toUri()).getUsab

我正在使用ApacheCamel在tomcat文件夹中创建一个文件队列,以便将大量数据发布到rest服务。如果端点在几天内不可用,而您的磁盘空间不足,因为它不断生成新文件,该怎么办?如何防止这种情况发生?

实现自定义以确保在写入文件之前有足够的可用空间

大概是这样的:

private static final Predicate IS_ENOUGH_SPACE = exchange -> {
    return new File(Paths.get("").toUri()).getUsableSpace() > 100*1024*1024; // 100MB
};

public void configure() {
    from("timer:simple?period=1000")
        .choice().when(IS_ENOUGH_SPACE)
                .to("file://myStuff")
                .to("log:done")
            .otherwise()
                .to("log:supressed") // do some handling here, maybe pause route for while
            .end();
}

你问的问题太不清楚/太广泛了。很好的解决方案!有没有一种方法可以用xml创建这个谓词?Nvm,我是通过使用:intheblock实现的