我有一个编年史阅读器(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
?还是有更好的方法来实施我的案例?