2013-04-18 45 views
0

我在耳朵的lib文件夾中部署了帶有jar的EAR。這個jar產生一個DefaultFileMonitor線程(來自Apache Commons api)並觀察一個文件。在重新部署JBoss 6.1.0後堅持線程

當我使用twiddle重新部署EAR時,爲所有WAR調用的undeploy似乎不會終止DefaultFileMonitor線程。

問題是,將保持多個DefaultFileMonitor在同一個文件上打開,並導致問題。

什麼是殺死這個線程的正確方法?是在這裏責怪?

+0

你如何啓動DefaultFileMonitor線程的代碼? –

回答

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