在重新部署JBoss 6.1.0后持久化线程



我正在EAR的lib文件夹中部署一个jar。这个jar生成一个DefaultFileMonitor线程(来自Apache Commons api)并监视一个文件。

当我使用twiddle对EAR进行重新部署时,为所有war调用的取消部署似乎不会杀死DefaultFileMonitor线程。

问题是,这会使多个DefaultFileMonitor在同一文件上打开,这会导致问题。

终止这个线程的正确方法是什么?这要怪无聊吗?

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
的代码

最新更新