Java ApacheCamel:防止写入文件时空间不足
我正在使用ApacheCamel在tomcat文件夹中创建一个文件队列,以便将大量数据发布到rest服务。如果端点在几天内不可用,而您的磁盘空间不足,因为它不断生成新文件,该怎么办?如何防止这种情况发生?实现自定义以确保在写入文件之前有足够的可用空间 大概是这样的: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
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实现的