001: /*
002: * Copyright (c) 1998-2008 Caucho Technology -- all rights reserved
003: *
004: * This file is part of Resin(R) Open Source
005: *
006: * Each copy or derived work must preserve the copyright notice and this
007: * notice unmodified.
008: *
009: * Resin Open Source is free software; you can redistribute it and/or modify
010: * it under the terms of the GNU General Public License as published by
011: * the Free Software Foundation; either version 2 of the License, or
012: * (at your option) any later version.
013: *
014: * Resin Open Source is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
017: * of NON-INFRINGEMENT. See the GNU General Public License for more
018: * details.
019: *
020: * You should have received a copy of the GNU General Public License
021: * along with Resin Open Source; if not, write to the
022: *
023: * Free Software Foundation, Inc.
024: * 59 Temple Place, Suite 330
025: * Boston, MA 02111-1307 USA
026: *
027: * @author Scott Ferguson
028: */
029:
030: package com.caucho.management.server;
031:
032: import com.caucho.jmx.Description;
033: import com.caucho.jmx.Units;
034:
035: import java.util.Date;
036:
037: /**
038: * Management interface for the deploy controller.
039: */
040: public interface DeployControllerMXBean extends ManagedObjectMXBean {
041: //
042: // Configuration
043: //
044:
045: /**
046: * Returns the startup mode, one of "default", "automatic", "lazy", or "manual".
047: */
048: @Description("The configured startup-mode, one of `default', `automatic', `lazy', or `manual'")
049: public String getStartupMode();
050:
051: /**
052: * Returns the redeploy mode, one of "default", "automatic", "lazy", or "manual".
053: */
054: @Description("The configured redeploy-mode, one of `default', `automatic', `lazy', or `manual'")
055: public String getRedeployMode();
056:
057: /**
058: * Returns the interval between redploy checks.
059: */
060: @Description("The configured millisecond interval between checks for the need to redeploy")
061: @Units("milliseconds")
062: public long getRedeployCheckInterval();
063:
064: //
065: // Lifecycle
066: //
067:
068: /**
069: * Returns the controller's state.
070: */
071: @Description("The current lifecycle state")
072: public String getState();
073:
074: /**
075: * Returns the time the controller was last started.
076: */
077: @Description("The current time of the last start")
078: public Date getStartTime();
079:
080: //
081: // Operations
082: //
083:
084: /**
085: * Starts the instance.
086: */
087: @Description("Start")
088: public void start() throws Exception;
089:
090: /**
091: * Stops the instance.
092: */
093: @Description("Stop")
094: public void stop() throws Exception;
095:
096: /**
097: * Restarts the instance.
098: */
099: @Description("Restart (Stop then Start)")
100: public void restart() throws Exception;
101:
102: /**
103: * Restarts the instance if any changes are detected.
104: */
105: @Description("Update")
106: public void update() throws Exception;
107: }
|