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/15 22:08:05 UTC
svn commit: r1023094 -
/commons/proper/daemon/trunk/src/java/org/apache/commons/daemon/Main.java
Author: mturk
Date: Fri Oct 15 20:08:04 2010
New Revision: 1023094
URL: http://svn.apache.org/viewvc?rev=1023094&view=rev
Log:
Allow System.exit for shutdown method
Modified:
commons/proper/daemon/trunk/src/java/org/apache/commons/daemon/Main.java
Modified: commons/proper/daemon/trunk/src/java/org/apache/commons/daemon/Main.java
URL: http://svn.apache.org/viewvc/commons/proper/daemon/trunk/src/java/org/apache/commons/daemon/Main.java?rev=1023094&r1=1023093&r2=1023094&view=diff
==============================================================================
--- commons/proper/daemon/trunk/src/java/org/apache/commons/daemon/Main.java (original)
+++ commons/proper/daemon/trunk/src/java/org/apache/commons/daemon/Main.java Fri Oct 15 20:08:04 2010
@@ -185,12 +185,19 @@ public class Main implements Daemon
protected void invoke()
throws Exception
{
- Object obj = claz.newInstance();
- Object arg[] = new Object[1];
-
- arg[0] = args;
- inst.invoke(obj, arg);
+ if (name.equals("System.exit")) {
+ // Just call a System.exit()
+ // The start method was probably installed
+ // a shutdown hook.
+ System.exit(0);
+ }
+ else {
+ Object obj = claz.newInstance();
+ Object arg[] = new Object[1];
+ arg[0] = args;
+ inst.invoke(obj, arg);
+ }
}
// Load the class using reflection
protected void validate()
@@ -199,6 +206,8 @@ public class Main implements Daemon
/* Check the class name */
if (name == null)
throw new NullPointerException("Null class name specified");
+ else if (name.equals("System.exit"))
+ return;
if (args == null)
args = new String[0];
if (main == null)