001: /*
002: * BEGIN_HEADER - DO NOT EDIT
003: *
004: * The contents of this file are subject to the terms
005: * of the Common Development and Distribution License
006: * (the "License"). You may not use this file except
007: * in compliance with the License.
008: *
009: * You can obtain a copy of the license at
010: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
011: * See the License for the specific language governing
012: * permissions and limitations under the License.
013: *
014: * When distributing Covered Code, include this CDDL
015: * HEADER in each file and include the License file at
016: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
017: * If applicable add the following below this CDDL HEADER,
018: * with the fields enclosed by brackets "[]" replaced with
019: * your own identifying information: Portions Copyright
020: * [year] [name of copyright owner]
021: */
022:
023: /*
024: * @(#)MBeanNames.java
025: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
026: *
027: * END_HEADER - DO NOT EDIT
028: */
029: package com.sun.jbi.management;
030:
031: import java.util.logging.Logger;
032:
033: import com.sun.jbi.ComponentType;
034: import javax.management.ObjectName;
035:
036: /**
037: * Extends the functionality of the public javax.jbi.management.MBeanNames
038: * interface, by defining constants used in MBean ObjectName attributes, and by
039: * providing additional operations to support multiple named logger MBeans.
040: *
041: * @author Sun Microsystems, Inc.
042: */
043: public interface MBeanNames extends javax.jbi.management.MBeanNames {
044:
045: /**
046: * System services' names. This will be used in the MBean
047: * Object names as
048: * com.sun.jbi:Target={target},ServiceName={serviceName},ServiceType={serviceType}
049: * com.sun.jbi:Target=domain,ServiceName=InstallationService,ServiceType=Installation
050: */
051: public enum ServiceName {
052: AdminService, ConfigurationService, DeploymentService, FileTransferService, Framework, InstallationService
053: };
054:
055: /**
056: * System services' types. This will be used in the MBean
057: * Object names as
058: * com.sun.jbi:Target={target},ServiceName={serviceName},ServiceType={serviceType}
059: * com.sun.jbi:Target=domain,ServiceName=InstallationService,ServiceType=Installation
060: */
061: public enum ServiceType {
062: Admin, Deployment, Download, Installation, Logger, Notification, System, Upload
063: };
064:
065: public enum ComponentServiceType {
066: Installer, ComponentLifeCycle, InstallerConfiguration, Configuration, Extension
067: };
068:
069: /**
070: * The Objectname attribute key for the JBI runtime instance name. Value
071: * is "JbiName".
072: */
073: String INSTANCE_NAME_KEY = "JbiName";
074:
075: /**
076: * The name of the JBI runtime AdminService management service. Value is
077: * "AdminService".
078: */
079: String SERVICE_NAME_ADMIN_SERVICE = "AdminService";
080:
081: /**
082: * The name of the JBI runtime ConfigurationService management service.
083: * Value is "ConfigurationService".
084: */
085: String SERVICE_NAME_CONFIG_SERVICE = "ConfigurationService";
086:
087: /**
088: * The name of the JBI runtime DeploymentService management service. Value
089: * is "DeploymentService".
090: */
091: String SERVICE_NAME_DEPLOY_SERVICE = "DeploymentService";
092:
093: /**
094: * The name of the JBI runtime InstallationService management service.
095: * Value is "InstallationService".
096: */
097: String SERVICE_NAME_INSTALL_SERVICE = "InstallationService";
098:
099: /**
100: * The name of the JBI runtime LoggingService management service. Value is
101: * "LoggingService".
102: */
103: String SERVICE_NAME_LOGGING_SERVICE = "LoggingService";
104:
105: /**
106: * The name of the JBI runtime MessageService service. Value is
107: * "MessageService".
108: */
109: String SERVICE_NAME_MESSAGE_SERVICE = "MessageService";
110:
111: /**
112: * The name of the JBI runtime Framework service. Value is "Framework".
113: */
114: String SERVICE_NAME_FRAMEWORK = "Framework";
115:
116: /**
117: * The name of the JBI runtime top-level service. Value is "JBI".
118: */
119: String SERVICE_NAME_JBI = "JBI";
120:
121: /**
122: * The property name key for the MBean type. Value is "ControlType".
123: */
124: String CONTROL_TYPE_KEY = "ControlType";
125:
126: /**
127: * The JBI runtime AdministrationService MBean. Value is
128: * "AdministrationService".
129: */
130: String CONTROL_TYPE_ADMIN_SERVICE = "AdministrationService";
131:
132: /**
133: * The JBI runtime ConfigurationService MBean. Value is
134: * "ConfigurationService".
135: */
136: String CONTROL_TYPE_CONFIG_SERVICE = "ConfigurationService";
137:
138: /**
139: * The JBI runtime DeploymentService MBean. Value is "DeploymentService".
140: */
141: String CONTROL_TYPE_DEPLOY_SERVICE = "DeploymentService";
142:
143: /**
144: * The JBI runtime InstallationService MBean. Value is
145: * "InstallationService".
146: */
147: String CONTROL_TYPE_INSTALL_SERVICE = "InstallationService";
148:
149: /**
150: * The JBI runtime LoggingService MBean. Value is "LoggingService".
151: */
152: String CONTROL_TYPE_LOGGING_SERVICE = "LoggingService";
153:
154: /**
155: * The JBI runtime MessageService MBean. Value is "MessageService".
156: */
157: String CONTROL_TYPE_MESSAGE_SERVICE = "MessageService";
158:
159: /**
160: * A Lifecycle MBean. Value is "Lifecycle".
161: */
162: String CONTROL_TYPE_LIFECYCLE = "Lifecycle";
163:
164: /**
165: * A Logger MBean. Value is "Logger".
166: */
167: String CONTROL_TYPE_LOGGER = "Logger";
168:
169: /**
170: * A Configuration MBean. Value is "Configuration".
171: */
172: String CONTROL_TYPE_CONFIGURATION = "Configuration";
173:
174: /**
175: * A Controller MBean. Value is "Controller".
176: */
177: String CONTROL_TYPE_CONTROLLER = "Controller";
178:
179: /**
180: * A Deployer MBean. Value is "Deployer".
181: */
182: String CONTROL_TYPE_DEPLOYER = "Deployer";
183:
184: /**
185: * An Installer MBean. Value is "Installer".
186: */
187: String CONTROL_TYPE_INSTALLER = "Installer";
188:
189: /**
190: * A Notification MBean. Value is "Notification".
191: */
192: String CONTROL_TYPE_NOTIFICATION = "Notification";
193:
194: /**
195: * A Statistics MBean. Value is "Statistics".
196: */
197: String CONTROL_TYPE_STATISTICS = "Statistics";
198:
199: /**
200: * A custom vendor-installed MBean. Value is "Custom".
201: */
202: String CONTROL_TYPE_CUSTOM = "Custom";
203:
204: /**
205: * A System MBean.
206: */
207: String CONTROL_TYPE_SYSTEM = "System";
208:
209: /**
210: * The type of component represented by this MBean: either System or
211: * Installed Value is "ComponentType".
212: */
213: String COMPONENT_TYPE_KEY = "ComponentType";
214:
215: /**
216: * A system component MBean. Value is "System".
217: */
218: String COMPONENT_TYPE_SYSTEM = "System";
219:
220: /**
221: * An Installed component MBean. Value is "Installed".
222: */
223: String COMPONENT_TYPE_INSTALLED = "Installed";
224:
225: /**
226: * The type of installation: either Engine or Binding. Value is
227: * "InstalledType".
228: */
229: String INSTALLED_TYPE_KEY = "InstalledType";
230:
231: /**
232: * Installed type for an engine component. Value is "Engine".
233: */
234: String INSTALLED_TYPE_ENGINE = "Engine";
235:
236: /**
237: * Installed type for a binding component. Value is "Binding".
238: */
239: String INSTALLED_TYPE_BINDING = "Binding";
240:
241: /**
242: * ServiceName is the name of the service where ComponentType is System.
243: * Value is "ServiceName".
244: */
245: String SERVICE_NAME_KEY = "ServiceName";
246:
247: /**
248: * ComponentName is defined to be the unique name assigned where
249: * ComponentType is Installed. Value is "ComponentName".
250: */
251: String COMPONENT_ID_KEY = "ComponentName";
252:
253: /**
254: * LoggerName is the name of the Logger instance when ControlType is Logger.
255: * Value is "LoggerName".
256: */
257: String LOGGER_NAME_KEY = "LoggerName";
258:
259: /**
260: * CustomControlName is the custom name of a vendor control where
261: * ControlType is Custom. Value is "CustomControlName".
262: */
263: String CUSTOM_CONTROL_NAME_KEY = "CustomControlName";
264:
265: /**
266: * The event management forwarder mbean is used to forward event from components
267: * and application to interested clients that registered for them
268: */
269: String EVENT_MANAGEMENT_MBEAN_NAME = "EventManagement:name=EventForwarderMBean";
270:
271: /**
272: * The event management controller mbean is used to configure and manage the event forwarding
273: * mbean.
274: */
275: String EVENTMANAGEMENT_CONTROLLER_MBEAN_NAME = "EventManagement:name=EventManagementControllerMBean";
276:
277: /**
278: * Formulate and return the MBean ObjectName of a control MBean for a
279: * Binding Component.
280: *
281: * @param bindingName
282: * the name of the Binding Component.
283: * @param controlType
284: * the type of control (MBean type).
285: * @return the JMX ObjectName of the MBean, or <code>null</code> if
286: * <code>controlType</code> is invalid.
287: */
288: ObjectName getBindingMBeanName(String bindingName,
289: String controlType);
290:
291: /**
292: * Formulate and return the MBean ObjectName of custom control MBean for a
293: * Binding Component.
294: *
295: * @param customName
296: * the name of the custom control.
297: * @param bindingName
298: * the name of the Binding Component.
299: * @return the JMX ObjectName or <code>null</code> if illegal name.
300: */
301: ObjectName getCustomBindingMBeanName(String customName,
302: String bindingName);
303:
304: /**
305: * Formulate and return the MBean ObjectName of custom control MBean for a
306: * Service Engine.
307: *
308: * @param customName
309: * the name of the custom control.
310: * @param engineName
311: * the name of the Service Engine.
312: * @return the JMX ObjectName or <code>null</code> if illegal name.
313: */
314: ObjectName getCustomEngineMBeanName(String customName,
315: String engineName);
316:
317: /**
318: * Formulate and return the MBean ObjectName of a control MBean for a
319: * Service Engine.
320: *
321: * @param engineName
322: * the name of the Service Engine.
323: * @param controlType
324: * the type of control (MBean type).
325: * @return the JMX ObjectName of the MBean, or <code>null</code> if
326: * <code>controlType</code> is invalid.
327: */
328: ObjectName getEngineMBeanName(String engineName, String controlType);
329:
330: /**
331: * Formulate and return the MBean ObjectName of control MBean for a JBI
332: * system service.
333: *
334: * @param serviceName
335: * the name of the system service.
336: * @param type
337: * the type of the MBean.
338: * @return the JMX ObjectName of the specified MBean, or null if the
339: * serviceName or type is illegal.
340: */
341: ObjectName getSystemServiceMBeanName(String serviceName, String type);
342:
343: /**
344: * Formulate and return the MBean ObjectName of control MBean for a JBI
345: * system service for a specific instance.
346: *
347: * @param serviceName
348: * the name of the system service.
349: * @param type
350: * the type of the MBean.
351: * @param instanceName
352: * the name of the server instance.
353: * @return the JMX ObjectName of the specified MBean, or null if the
354: * serviceName or type is illegal.
355: */
356: ObjectName getSystemServiceMBeanName(String serviceName,
357: String type, String instanceName);
358:
359: /**
360: * Formulate and return the LoggerMBean ObjectName of a JBI Framework system
361: * service.
362: *
363: * @param name -
364: * the name of the system service.
365: * @param logger -
366: * the Logger instance.
367: * @return the JMX ObjectName of the service, or null if illegal name.
368: */
369: ObjectName getSystemServiceLoggerMBeanName(String name,
370: Logger logger);
371:
372: /**
373: * Return the name of this JBI Framework runtime
374: *
375: * @return the instance name of this runtime.
376: */
377: String getJbiInstanceName();
378:
379: /**
380: * Formulate and return the MBean ObjectName of a local JBI Framework system
381: * service. A local services does not include the jbi runtime instance name.
382: *
383: * @param name -
384: * the name of the system service
385: * @param type -
386: * the type of the MBean
387: * @return the JMX ObjectName of the service, or null if illegal name
388: */
389: ObjectName getLocalSystemServiceMBeanName(String name, String type);
390:
391: /**
392: * Utility method to get a component's MBean name based on the component's
393: * type (binding or engine). This saves clients from coding the same
394: * conditional (e.g. if type == binding call getBindingMBeanName) over
395: * and over again.
396: * @param componentName component name
397: * @param serviceType type of MBean
398: * @param target administration target
399: * @return ObjectName in the component's namespace for the given service
400: */
401: ObjectName getComponentMBeanName(String compName,
402: ComponentType compType, ComponentServiceType serviceType,
403: String target);
404:
405: //////////////////////////////
406: // -- Overloaded methods --
407: //////////////////////////////
408: /**
409: * Returns object name of type a Binding Object Name:
410: * com.sun.jbi:Target={target}, ServiceType={serviceType}, ComponentName="bindingName"
411: *
412: * @param bindingName -
413: * binding component name
414: * @param serviceType
415: * @param target -
416: * administration target
417: * @return the Object name of the facade AdminServiceMBean for the desired
418: * target.
419: */
420: ObjectName getBindingMBeanName(String bindingName,
421: ComponentServiceType serviceType, String target);
422:
423: /**
424: * Returns object name of type a Engine Object Name:
425: * com.sun.jbi:Target={target}, ServiceType={serviceType}, ComponentName="engineName"
426: *
427: * @param engineName -
428: * service engine name
429: * @param serviceType
430: * @param target -
431: * administration target
432: * @return the Object name of the facade AdminServiceMBean for the desired
433: * target.
434: */
435: ObjectName getEngineMBeanName(String engineName,
436: ComponentServiceType serviceType, String target);
437:
438: /**
439: * Returns object name of type a SystemService Object Name:
440: * com.sun.jbi:Target={target}, ServiceName={serviceName}, ServiceType={serviceType}
441: * @param serviceName the name of the system service, e.g, InstallationService
442: * @param serviceType the type of the system service, e.g, Installation
443: * @param target -
444: * administration target
445: * @return the Object name of the facade AdminServiceMBean for the desired
446: * target.
447: */
448: ObjectName getSystemServiceMBeanName(ServiceName serviceName,
449: ServiceType serviceType, String target);
450:
451: /**
452: * Returns the ObjectName to be used to filter component registered custom MBeans :
453: * com.sun.jbi:JbiName=instanceName,CustomControlName=customName,ComponentName=mComponentName,ControlType=Custom,*
454: *
455: * @param instanceName - target instance name
456: * @param customName - target custom control name
457: * @param componentName - target component name
458: * @return the ObjectName to be used to filter component registered custom MBeans
459: */
460: ObjectName getCustomComponentMBeanNameFilter(String instanceName,
461: String customName, String componentName);
462:
463: /**
464: * Returns the ObjectName to be used to filter Logger MBeans registered for a component :
465: * com.sun.jbi:JbiName=instanceName,CustomControlName=logName,ComponentName=mComponentName,ControlType=Logger,*
466: *
467: * @param instanceName - target instance name
468: * @param componentName - target component name
469: * @return the ObjectName to be used to filter component registered custom MBeans
470: */
471: ObjectName getComponentLoggerMBeanNameFilter(String instanceName,
472: String componentName);
473:
474: /**
475: * Returns the ObjectName of the ComponentExtension facade MBean registered for
476: * the component.
477: *
478: * @param target - target name
479: * @param componentName - target component name
480: * @return the ObjectName of the component extension facade MBean.
481: */
482: ObjectName getComponentExtensionFacadeMBeanName(
483: String componentName, String target);
484: }
|