|
Author: adrianc
Date: Sun Aug 19 09:59:31 2012 New Revision: 1374720 URL: http://svn.apache.org/viewvc?rev=1374720&view=rev Log: More work on Start.java - added the capability for client code to query the class for server state. Modified: ofbiz/trunk/framework/start/src/org/ofbiz/base/start/Start.java Modified: ofbiz/trunk/framework/start/src/org/ofbiz/base/start/Start.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/start/src/org/ofbiz/base/start/Start.java?rev=1374720&r1=1374719&r2=1374720&view=diff ============================================================================== --- ofbiz/trunk/framework/start/src/org/ofbiz/base/start/Start.java (original) +++ ofbiz/trunk/framework/start/src/org/ofbiz/base/start/Start.java Sun Aug 19 09:59:31 2012 @@ -35,10 +35,12 @@ import java.util.Map; import java.util.concurrent.atomic.AtomicReference; /** - * Start - OFBiz Container(s) Startup Class + * OFBiz startup class. * */ -public class Start { +public final class Start { + + private static final Start instance = new Start(); private static Command checkCommand(Command command, Command wanted) { if (wanted == Command.HELP || wanted.equals(command)) { @@ -51,6 +53,13 @@ public class Start { } } + /** + * Returns the <code>Start</code> instance. + */ + public static Start getInstance() { + return instance; + } + private static void help(PrintStream out) { out.println(""); out.println("Usage: java -jar ofbiz.jar [command] [arguments]"); @@ -100,16 +109,15 @@ public class Start { help(System.err); System.exit(1); } - Start start = new Start(); - start.init(args, command == Command.COMMAND); + instance.init(args, command == Command.COMMAND); try { if (command == Command.STATUS) { - System.out.println("Current Status : " + start.status()); + System.out.println("Current Status : " + instance.status()); } else if (command == Command.SHUTDOWN) { - System.out.println("Shutting down server : " + start.shutdown()); + System.out.println("Shutting down server : " + instance.shutdown()); } else { // general start - start.start(); + instance.start(); } } catch (Exception e) { e.printStackTrace(); @@ -120,9 +128,9 @@ public class Start { // ---------------------------------------------- // private Config config = null; - private List<String> loaderArgs = new ArrayList<String>(); + private final List<String> loaderArgs = new ArrayList<String>(); private final ArrayList<StartupLoader> loaders = new ArrayList<StartupLoader>(); - private AtomicReference<ServerState> serverState = new AtomicReference<ServerState>(ServerState.STARTING); + private final AtomicReference<ServerState> serverState = new AtomicReference<ServerState>(ServerState.STARTING); private Thread adminPortThread = null; private Start() {} @@ -145,6 +153,13 @@ public class Start { } } + /** + * Returns the server's current state. + */ + public ServerState getCurrentState() { + return serverState.get(); + } + private void init(String[] args, boolean fullInit) throws StartupException { String globalSystemPropsFileName = System.getProperty("ofbiz.system.props"); if (globalSystemPropsFileName != null) { |
| Free forum by Nabble | Edit this page |
