package org.apache.jserv; import org.apache.jserv.*; import net.sourceforge.jsrvany.*; import java.io.*; import java.util.*; public class JServWrapper extends SimpleListener implements Runnable { static String[] args=null; boolean isActive = true; boolean isStopped = false; public JServWrapper(String[] args) { this.args = args; logEvent( "Starting service..." ); // starting service thread new Thread( this ).start(); logEvent( "Service thread started." ); } public void run() { ServiceControlManager.getInstance().addServiceControlListener( this ); logEvent( "Registered listener." ); try { JServ.main(this.args); } catch(Throwable t) { logEvent("Exception running JServ.main(args): "+t); t.printStackTrace(); } } public void handleServiceControlEvent(StopServiceControlEvent e) { logEvent("handleServiceControlEvent() event "+e); logEvent("stopping JServ..."); JServ.clear(); logEvent("...done "); } public void handleServiceControlEvent(TerminateServiceControlEvent e) { logEvent("handleServiceControlEvent() event "+e); logEvent("terminating JServ... "); JServ.clear(); logEvent("...done "); } static void logEvent( String msg ) { System.err.println(new Date().toString()+" logEvent: "+msg); } /** service entry point */ public static void main( String[] args ) { new JServWrapper(args); } }