1 29 30 package com.caucho.boot; 31 32 import com.caucho.config.ConfigException; 33 import com.caucho.hessian.server.HessianServlet; 34 35 import java.util.logging.Logger ; 36 37 40 public class ResinWatchdogServlet extends HessianServlet implements WatchdogAPI { 41 private static final Logger log 42 = Logger.getLogger(ResinWatchdogServlet.class.getName()); 43 44 private ResinWatchdogManager _watchdogManager; 45 46 public void init() 47 { 48 _watchdogManager = ResinWatchdogManager.getWatchdog(); 49 } 50 51 public void start(String []argv) 52 throws ConfigException, IllegalStateException 53 { 54 _watchdogManager.startServer(argv); 55 } 56 57 public void restart(String serverId, String []argv) 58 { 59 stop(serverId); 60 start(argv); 61 } 62 63 public void stop(String serverId) 64 { 65 log.info("Watchdog stop: " + serverId); 66 67 _watchdogManager.stopServer(serverId); 68 } 69 70 public boolean shutdown() 71 { 72 log.info("Watchdog shutdown"); 73 74 new Thread (new Shutdown ()).start(); 75 76 return true; 77 } 78 79 static class Shutdown implements Runnable { 80 public void run() 81 { 82 try { 83 Thread.sleep(1000); 84 } catch (Exception e) { 85 } 86 87 System.exit(0); 88 } 89 } 90 } 91 | Popular Tags |