You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2010/10/17 13:48:42 UTC
svn commit: r1023469 -
/commons/proper/daemon/trunk/src/samples/SimpleApplication.java
Author: mturk
Date: Sun Oct 17 11:48:41 2010
New Revision: 1023469
URL: http://svn.apache.org/viewvc?rev=1023469&view=rev
Log:
Add ShutdownHook to the example
Modified:
commons/proper/daemon/trunk/src/samples/SimpleApplication.java
Modified: commons/proper/daemon/trunk/src/samples/SimpleApplication.java
URL: http://svn.apache.org/viewvc/commons/proper/daemon/trunk/src/samples/SimpleApplication.java?rev=1023469&r1=1023468&r2=1023469&view=diff
==============================================================================
--- commons/proper/daemon/trunk/src/samples/SimpleApplication.java (original)
+++ commons/proper/daemon/trunk/src/samples/SimpleApplication.java Sun Oct 17 11:48:41 2010
@@ -79,7 +79,7 @@ public class SimpleApplication implement
/* Dump a message */
System.err.println("SimpleApplication: loading on port "+port);
-
+ Runtime.getRuntime().addShutdownHook(new ShutdownHook(app));
/* Set up this simple daemon */
app.server = new ServerSocket(port);
app.thread = new Thread(app);
@@ -159,6 +159,26 @@ public class SimpleApplication implement
}
}
+ public static class ShutdownHook extends Thread
+ {
+ private final SimpleApplication instance;
+
+ public ShutdownHook(SimpleApplication instance)
+ {
+ this.instance = instance;
+ }
+ public void run()
+ {
+ System.out.println("Shutting down");
+ try {
+ instance.stop();
+ }
+ catch (Exception e) {
+ e.printStackTrace(System.err);
+ }
+ }
+ }
+
public static class Handler implements Runnable {
private final SimpleApplication parent;