01: /*
02: * BEGIN_HEADER - DO NOT EDIT
03: *
04: * The contents of this file are subject to the terms
05: * of the Common Development and Distribution License
06: * (the "License"). You may not use this file except
07: * in compliance with the License.
08: *
09: * You can obtain a copy of the license at
10: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
11: * See the License for the specific language governing
12: * permissions and limitations under the License.
13: *
14: * When distributing Covered Code, include this CDDL
15: * HEADER in each file and include the License file at
16: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
17: * If applicable add the following below this CDDL HEADER,
18: * with the fields enclosed by brackets "[]" replaced with
19: * your own identifying information: Portions Copyright
20: * [year] [name of copyright owner]
21: */
22:
23: /*
24: * @(#)LifeCycleMBean.java
25: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
26: *
27: * END_HEADER - DO NOT EDIT
28: */
29: package javax.jbi.management;
30:
31: /**
32: * LifeCycleMBean is a base interface that defines standard life cycle controls
33: * for JBI implementation services (which are implementation-specific), and JBI
34: * components (bindings and engines).
35: *
36: * @author JSR208 Expert Group
37: */
38: public interface LifeCycleMBean {
39: /**
40: * Start the item.
41: *
42: * @exception javax.jbi.JBIException if the item fails to start.
43: */
44: void start() throws javax.jbi.JBIException;
45:
46: /**
47: * Stop the item. This suspends current messaging activities.
48: *
49: * @exception javax.jbi.JBIException if the item fails to stop.
50: */
51: void stop() throws javax.jbi.JBIException;
52:
53: /**
54: * Shut down the item. This releases resources and returns the item
55: * to an uninitialized state.
56: *
57: * @exception javax.jbi.JBIException if the item fails to shut down.
58: */
59: void shutDown() throws javax.jbi.JBIException;
60:
61: /**
62: * Get the current state of this managed compononent.
63: *
64: * @return the current state of this managed component (must be one of the
65: * string constants defined by this interface)
66: */
67: String getCurrentState();
68:
69: /** Value returned by {@link #getCurrentState()} for a shutdown component. */
70: final static String SHUTDOWN = "Shutdown";
71:
72: /** Value returned by {@link #getCurrentState()} for a stopped component. */
73: final static String STOPPED = "Stopped";
74:
75: /** Value returned by {@link #getCurrentState()} for a running component. */
76: final static String STARTED = "Started";
77:
78: /** Value returned by {@link #getCurrentState()} for a component in an
79: * unknown state. */
80: final static String UNKNOWN = "Unknown";
81: }
|