1 19 20 package com.sslexplorer.boot; 21 22 import org.apache.commons.logging.Log; 23 import org.apache.commons.logging.LogFactory; 24 25 public class StopContextListenerThread extends Thread { 26 27 final static Log log = LogFactory.getLog(StopContextListenerThread.class); 28 29 ContextListener listener; 30 31 public StopContextListenerThread(ContextListener listener) { 32 super("StopContextListener"); 33 this.listener = listener; 34 } 35 36 public void run() { 37 listener.stopped(); 38 } 39 40 public void waitForStop() { 41 start(); 42 for(int j = 0 ; j < 2; j++) { 43 try { 44 join(30000); 45 } catch (InterruptedException e) { 46 break; 47 } 48 if(isAlive() && j == 0) { 49 log.warn(listener + " is preventing the server from shutting down, waiting another 30 seconds then giving up."); 50 } 51 } 52 } 53 } | Popular Tags |