org.glassfish.admin.amx.j2ee.StateManageable Maven / Gradle / Ivy
Show all versions of payara-embedded-all Show documentation
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.
*
* The contents of this file are subject to the terms of either the GNU
* General Public License Version 2 only ("GPL") or the Common Development
* and Distribution License("CDDL") (collectively, the "License"). You
* may not use this file except in compliance with the License. You can
* obtain a copy of the License at
* https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
* or packager/legal/LICENSE.txt. See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each
* file and include the License file at packager/legal/LICENSE.txt.
*
* GPL Classpath Exception:
* Oracle designates this particular file as subject to the "Classpath"
* exception as provided by Oracle in the GPL Version 2 section of the License
* file that accompanied this code.
*
* Modifications:
* If applicable, add the following below the License Header, with the fields
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyright [year] [name of copyright owner]"
*
* Contributor(s):
* If you wish your version of this file to be governed by only the CDDL or
* only the GPL Version 2, indicate your decision by adding "[Contributor]
* elects to include this software in this distribution under the [CDDL or GPL
* Version 2] license." If you don't indicate a single choice of license, a
* recipient has the option to distribute your version of this file under
* either the CDDL, the GPL Version 2 or to extend the choice of license to
* its licensees as provided above. However, if you add GPL Version 2 code
* and therefore, elected the GPL Version 2 license, then the option applies
* only if the new code is made subject to such option by the copyright
* holder.
*/
package org.glassfish.admin.amx.j2ee;
import org.glassfish.admin.amx.annotation.ManagedAttribute;
import org.glassfish.admin.amx.annotation.ManagedOperation;
public interface StateManageable
{
/**
This state indicates that the SMO has been requested to start,
and is in the process of starting. On entering this state an SMO may generate
an event whose type value is "STATE". Event notification of the STARTING state
is optional for all managed objects that implement StateManageable.
*/
public static final int STATE_STARTING = 0;
/**
This is the normal running state for an SMO. This state indicates
that the SMO is operational. On entering this state an SMO must generate an
event whose type value is "STATE". Event notification of the RUNNING state is
required for all managed objects that implement StateManageable.
*/
public static final int STATE_RUNNING = 1;
/**
This state indicates that the SMO has been requested to stop,
and is in the process of stopping. On entering this state an SMO may generate
an event whose type value is "STATE". Event notification of the STOPPING state
is optional for all managed objects that implement StateManageable.
*/
public static final int STATE_STOPPING = 2;
/**
This state indicates that the StateManageable Object has stopped
and can be restarted. On entering this state an SMO must generate an event
whose type value is "STATE". Event notification of the STOPPED state is
required by all managed objects that implement StateManageable.
*/
public static final int STATE_STOPPED = 3;
/**
This state indicates that the StateManageable Object is in a failed
state and intervention is required to restore the managed object. On entering
this state an SMO must generate an event whose type value is "STATE". Event
notification of the FAILED state is required by all managed objects that
implement StateManageable.
*/
public static final int STATE_FAILED = 4;
/**
The current state of this SMO. The SMO can be in one of the following states:
- #STATE_STARTING
- #STATE_RUNNING
- #STATE_STOPPING
- #STATE_STOPPED
- #STATE_FAILED
Note that the Attribute name is case-sensitive
"state" as defined by JSR 77.
*/
@ManagedAttribute
public int getstate();
/**
The time that the managed object was started represented as a
long which value is the number of milliseconds since
January 1, 1970, 00:00:00.
Note that the Attribute name is case-sensitive
"startTime" as defined by JSR 77.
*/
@ManagedAttribute
public long getstartTime();
/**
Starts the SMO. This operation can be invoked only when the SMO
is in the STOPPED state. It causes the SMO to go into the STARTING
state initially, and if it completes successfully, the SMO will be in
the RUNNING state. Note that start() is not called on any of the child
SMOs that are registered with this SMO; it is the responsibility of the
calling application to start the child SMO if this is required.
*/
@ManagedOperation
public void start();
/**
Starts the SMO. This operation can only be invoked when the SMO is in the
STOPPED state. It causes the SMO to go into the STARTING state initially,
and if it completes successfully, the SMO will be in the RUNNING state.
startRecursive() is called on all the child SMOs registered with this SMO
that are in the STOPPED state. Stops the SMO. This operation can only be
invoked when the SMO is in the RUNNING or STARTING state. It causes stop()
to be called on all the child SMOs registered with this SMO that are in the
RUNNING or STARTING state. It causes the SMO to go into the STOPPING state
initially, and if it completes successfully, the SMO and all the child SMOs
will be in the STOPPED state. There is no stopRecursive() operation because
it is mandatory if an SMO is in the STOPPED state, that all its child SMOs
must also be in the STOPPED state.
*/
@ManagedOperation
public void startRecursive();
/**
Stops the SMO. This operation can only be invoked when the SMO is in
the RUNNING or STARTING state. It causes stop() to be called on all the
child SMOs registered with this SMO that are in the RUNNING or STARTING
state. It causes the SMO to go into the STOPPING state initially,
and if it completes successfully, the SMO and all the child SMOs will be
in the STOPPED state. There is no stopRecursive() operation because it is
mandatory if an SMO is in the STOPPED state, that all its child SMOs must
also be in the STOPPED state.
*/
@ManagedOperation
public void stop();
};