【发布时间】:2018-04-23 21:48:18
【问题描述】:
我正在使用 Apache Camel 在 tomcat 文件夹中创建一个文件队列,以将大量数据发布到休息服务。如果端点在几天内不可用并且由于它不断生成新文件而导致磁盘空间不足怎么办?如何防止这种情况发生?
【问题讨论】:
-
您要问的内容太不清楚/太宽泛了。
标签: java apache apache-camel
我正在使用 Apache Camel 在 tomcat 文件夹中创建一个文件队列,以将大量数据发布到休息服务。如果端点在几天内不可用并且由于它不断生成新文件而导致磁盘空间不足怎么办?如何防止这种情况发生?
【问题讨论】:
标签: java apache apache-camel
实现自定义Predicate以确保在写入文件之前有足够的可用空间。
类似这样的:
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();
}
【讨论】: