From 2b5057e136e94353d67a22e8bc227ec71ece110a Mon Sep 17 00:00:00 2001 From: hns Date: Wed, 6 Nov 2002 11:00:48 +0000 Subject: [PATCH] Created initial shutdown hook that does nothing --- src/helma/main/HelmaShutdownHook.java | 20 ++++++++++++++++++++ src/helma/main/Server.java | 3 ++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 src/helma/main/HelmaShutdownHook.java diff --git a/src/helma/main/HelmaShutdownHook.java b/src/helma/main/HelmaShutdownHook.java new file mode 100644 index 00000000..ee399727 --- /dev/null +++ b/src/helma/main/HelmaShutdownHook.java @@ -0,0 +1,20 @@ +// HelmaShutdownHook.java +package helma.main; + +/** + * ShutdownHook that shuts down all running Helma applications on exit. + */ +public class HelmaShutdownHook extends Thread { + + ApplicationManager appmgr; + + public HelmaShutdownHook (ApplicationManager appmgr) { + this.appmgr = appmgr; + } + + public void run () { + System.err.print ("Shutting down Helma..."); + System.err.println ("done"); + } + +} diff --git a/src/helma/main/Server.java b/src/helma/main/Server.java index 4a24974c..6d4b9adb 100644 --- a/src/helma/main/Server.java +++ b/src/helma/main/Server.java @@ -356,12 +356,13 @@ import org.apache.xmlrpc.*; LocateRegistry.createRegistry (rmiPort); } - // create application manager appManager = new ApplicationManager (rmiPort, hopHome, appsProps, this); if (xmlrpc != null) xmlrpc.addHandler ("$default", appManager); + // add shutdown hook to close running apps and servers on exit + Runtime.getRuntime().addShutdownHook (new HelmaShutdownHook(appManager)); } catch (Exception gx) { getLogger().log ("Error initializing embedded database: "+gx);