我有一个编年史读者(ExcerptTailer
),代码如下,
ChronicleQueue queue = ChronicleQueueBuilder.single(chroniclePath).storeFileListener(new StoreFileListener() {
@Override
public void onReleased(int cycle, File file) {
if (file != null) {
try {
file.delete();
} catch (Exception e) {
}
}
}
}).rollCycle(RollCycles.HOURLY).build();
ExcerptTailer excerptTailer = queueForReader.createTailer();
我实现了onRealease
方法来删除已完成的文件。
但我的问题是,由于queue.close()
方法中的代码,在调用onRelease
时文件被删除了。
在这种情况下,我如何理解文件读取未在onReleased
内完成?
或者有更好的方法来实现我的案例吗?