我正在耳朵的lib文件夹中部署带有jar的EAR。这个jar产生一个DefaultFileMonitor线程(来自Apache Commons api)并监视一个文件。
当我使用twiddle进行EAR的重新部署时,为所有WAR调用的取消部署似乎不会杀死DefaultFileMonitor线程。
问题是会在同一个文件上打开多个DefaultFileMonitor并导致问题。
杀死此帖子的正确方法是什么?这里有责备吗?
答案 0 :(得分:0)
public enum Logger {
INSTANCE;
DefaultFileMonitor fm = new DefaultFileMonitor(new CustomFileListener());
private FileObject file = null;
private FileObject object = null;
private Logger() {
this.openFile();
try {
FileSystemManager fsManager = VFS.getManager();
file = fsManager.resolveFile(this.getfileLocation());
object = fsManager.resolveFile("c:\test.txt");
} catch (FileSystemException e) {
e.printStackTrace();
}
fm.setDelay(1000);
fm.addFile(file);
fm.start();
}
以下是我用来加载DefaultFileMonitor的代码