Author: mturk Date: Wed Mar 6 09:54:38 2013 New Revision: 1453245 URL: http://svn.apache.org/r1453245 Log: DAEMON-283: Make sure we instantiate class only for non static method. For static methods class instance in unused and can be null
Modified: commons/proper/daemon/branches/1.0.x/RELEASE-NOTES.txt commons/proper/daemon/branches/1.0.x/src/main/java/org/apache/commons/daemon/support/DaemonWrapper.java Modified: commons/proper/daemon/branches/1.0.x/RELEASE-NOTES.txt URL: http://svn.apache.org/viewvc/commons/proper/daemon/branches/1.0.x/RELEASE-NOTES.txt?rev=1453245&r1=1453244&r2=1453245&view=diff ============================================================================== --- commons/proper/daemon/branches/1.0.x/RELEASE-NOTES.txt (original) +++ commons/proper/daemon/branches/1.0.x/RELEASE-NOTES.txt Wed Mar 6 09:54:38 2013 @@ -1,5 +1,5 @@ Apache Commons Daemon - Version 1.0.13 + Version 1.0.14 Release Notes @@ -84,6 +84,8 @@ NEW FEATURES: BUG FIXES: +1.0.14: DAEMON-283 + 1.0.13: DAEMON-275, DAEMON-276 1.0.12: DAEMON-268, DAEMON-272, DAEMON-274 Modified: commons/proper/daemon/branches/1.0.x/src/main/java/org/apache/commons/daemon/support/DaemonWrapper.java URL: http://svn.apache.org/viewvc/commons/proper/daemon/branches/1.0.x/src/main/java/org/apache/commons/daemon/support/DaemonWrapper.java?rev=1453245&r1=1453244&r2=1453245&view=diff ============================================================================== --- commons/proper/daemon/branches/1.0.x/src/main/java/org/apache/commons/daemon/support/DaemonWrapper.java (original) +++ commons/proper/daemon/branches/1.0.x/src/main/java/org/apache/commons/daemon/support/DaemonWrapper.java Wed Mar 6 09:54:38 2013 @@ -20,6 +20,7 @@ package org.apache.commons.daemon.support; import java.lang.reflect.Method; +import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.Arrays; import org.apache.commons.daemon.Daemon; @@ -226,7 +227,11 @@ public class DaemonWrapper implements Da System.exit(0); } else { - Object obj = main.newInstance(); + Object obj = null; + if ((inst.getModifiers() & Modifier.STATIC) == 0) { + // We only need object instance for non-static methods. + obj = main.newInstance(); + } Object arg[] = new Object[1]; arg[0] = args;