Source code: org/mobicents/slee/container/management/jmx/SleeManagementMBeanImplMBean.java
1 /***************************************************
2 * *
3 * Mobicents: The Open Source JSLEE Platform *
4 * *
5 * Distributable under LGPL license. *
6 * See terms of license at gnu.org. *
7 * *
8 * Created on Feb 9, 2005 *
9 * *
10 ***************************************************/
11
12 package org.mobicents.slee.container.management.jmx;
13
14 import javax.management.MBeanRegistration;
15 import javax.management.NotificationBroadcaster;
16 import javax.management.ObjectName;
17 import javax.slee.InvalidStateException;
18 import javax.slee.management.ManagementException;
19 import javax.slee.management.SleeManagementMBean;
20 import javax.slee.management.SleeState;
21
22 import org.jboss.system.Service;
23
24 /**
25 * @author Ivelin Ivanov
26 *
27 */
28 public interface SleeManagementMBeanImplMBean extends
29 SleeManagementMBean, MBeanRegistration, NotificationBroadcaster {
30 /**
31 * @return the current state of the SLEE Container
32 *
33 * @see javax.slee.management.SleeManagementMBean#getState()
34 */
35 public abstract SleeState getState() throws ManagementException;
36
37 /**
38 * Start the SLEE container
39 *
40 * @see javax.slee.management.SleeManagementMBean#start()
41 */
42 public abstract void start() throws InvalidStateException,
43 ManagementException;
44
45 /**
46 * Gracefully stop the SLEE. Should do it in a non-blocking manner.
47 * @throws Exception
48 *
49 * @see javax.slee.management.SleeManagementMBean#stop()
50 */
51 public abstract void stop() throws InvalidStateException, ManagementException;
52
53 /**
54 * Shutdown the SLEE processes. The spec requires that System.exit() be
55 * called before this methods returns. We are not convinced this is
56 * necessary yet. A trivial implementation would be to make a call to the
57 * JBoss server shutdown()
58 *
59 * @see javax.slee.management.SleeManagementMBean#shutdown()
60 */
61 public abstract void shutdown() throws InvalidStateException,
62 ManagementException;
63
64 /**
65 * return the ObjectName of the DeploymentMBean
66 *
67 * @see javax.slee.management.SleeManagementMBean#getDeploymentMBean()
68 */
69 public abstract ObjectName getDeploymentMBean();
70
71 /**
72 * set the ObjectName of the DeploymentMBean
73 *
74 * @see javax.slee.management.SleeManagementMBean#getDeploymentMBean()
75 */
76 public abstract void setDeploymentMBean(ObjectName newDM);
77
78 /**
79 * return the ObjectName of the ServiceManagementMBean
80 *
81 * @see javax.slee.management.SleeManagementMBean#getServiceManagementMBean()
82 */
83 public abstract ObjectName getServiceManagementMBean();
84
85 /**
86 * set the ObjectName of the ServiceManagementMBean
87 *
88 * @see javax.slee.management.SleeManagementMBean#setServiceManagementMBean()
89 */
90 public abstract void setServiceManagementMBean(ObjectName newSMM);
91
92 /*
93 * return the ObjectName of the ProfileProvisioningMBean
94 *
95 * @see javax.slee.management.SleeManagementMBean#getProfileProvisioningMBean()
96 */public abstract ObjectName getProfileProvisioningMBean();
97
98 /**
99 * set the ObjectName of the ProfileProvisioningMBean
100 *
101 * @see javax.slee.management.SleeManagementMBean#setProfileProvisioningMBean()
102 */
103 public abstract void setProfileProvisioningMBean(ObjectName newPPM);
104
105 /*
106 * return the ObjectName of the TraceMBean
107 *
108 * @see javax.slee.management.SleeManagementMBean#getTraceMBean()
109 */
110 public abstract ObjectName getTraceMBean();
111
112 /**
113 * set the ObjectName of the TraceMBean
114 *
115 * @see javax.slee.management.SleeManagementMBean#setTraceMBean()
116 */
117 public abstract void setTraceMBean(ObjectName newTM);
118
119 /**
120 * return the ObjectName of the AlarmMBean
121 *
122 * @see javax.slee.management.SleeManagementMBean#getAlarmMBean()
123 */
124 public abstract ObjectName getAlarmMBean();
125
126 /**
127 * set the ObjectName of the AlarmMBean
128 *
129 * @see javax.slee.management.SleeManagementMBean#setAlarmMBean()
130 */
131 public abstract void setAlarmMBean(ObjectName newAM);
132
133
134 public void setFullSleeStop(boolean b);
135
136 /**
137 * Indicates whether Mobicents SLEE is simply marked as STOPPED or all its services actually stopped.
138 * The distinction is important due to the way MBean service dependencies are handled on mobicents.sar undeploy vs.
139 * externally calling SleeManagementMBean.stop()
140 */
141 public boolean isFullSleeStop();
142
143 }