001: /*
002: * JBoss, Home of Professional Open Source.
003: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
004: * as indicated by the @author tags. See the copyright.txt file in the
005: * distribution for a full listing of individual contributors.
006: *
007: * This is free software; you can redistribute it and/or modify it
008: * under the terms of the GNU Lesser General Public License as
009: * published by the Free Software Foundation; either version 2.1 of
010: * the License, or (at your option) any later version.
011: *
012: * This software is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015: * Lesser General Public License for more details.
016: *
017: * You should have received a copy of the GNU Lesser General Public
018: * License along with this software; if not, write to the Free
019: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
021: */
022: package org.jboss.mx.server;
023:
024: /**
025: * Server related constant variables. These are constants that are used internally
026: * by the MBean server implementation or are used to configure the MBean server.
027: * Different JMX service specific constants should be added to the <tt>ServiceConstants</tt>
028: * interface.
029: *
030: * @see org.jboss.mx.service.ServiceConstants
031: * @see org.jboss.mx.server.MBeanServerImpl
032: *
033: * @author <a href="mailto:juha@jboss.org">Juha Lindfors</a>.
034: * @author <a href="mailto:Adrian.Brock@HappeningTimes.com">Adrian Brock</a>.
035: * @version $Revision: 57200 $
036: *
037: */
038: public interface ServerConstants {
039: // Constants -----------------------------------------------------
040:
041: /**
042: * The name of the protected implementation domain
043: * Pass this object to the registry in the values map as the key and value
044: * to register in this domain
045: */
046: final static String JMI_DOMAIN = "JMImplementation";
047:
048: /**
049: * String representation of the MBean server delegate MBean object name.
050: */
051: final static String MBEAN_SERVER_DELEGATE = JMI_DOMAIN
052: + ":type=MBeanServerDelegate";
053:
054: /**
055: * String representation of the MBean registry mbean object name.
056: */
057: final static String MBEAN_REGISTRY = JMI_DOMAIN
058: + ":type=MBeanRegistry";
059:
060: /**
061: * String representationof the MBean server configuration mbean object name.
062: */
063: final static String MBEAN_SERVER_CONFIGURATION = JMI_DOMAIN
064: + ":type=MBeanServerConfiguration";
065:
066: /**
067: * The default domain name for the MBean server. If a default domain is not specified
068: * when the server is created, this value (<tt>"DefaultDomain"</tt>) is used.
069: *
070: * @see javax.management.MBeanServerFactory
071: */
072: final static String DEFAULT_DOMAIN = "DefaultDomain";
073:
074: // MBean Server Delegate -----------------------------------------
075:
076: /**
077: * The specification name of the implementation. This value can be retrieved from the MBean server delegate.
078: */
079: final static String SPECIFICATION_NAME = "Java Management Extensions Instrumentation and Agent Specification";
080:
081: /**
082: * The specification version of the implementation. This value can be retrieved from the MBean server delegate.
083: */
084: final static String SPECIFICATION_VERSION = "1.2 Maintenance Release";
085:
086: /**
087: * The specification vendor name. This value can be retrieved from the MBean server delegate.
088: */
089: final static String SPECIFICATION_VENDOR = "Sun Microsystems, Inc.";
090:
091: /**
092: * The name of the implementation. This value can be retrieved from the MBean server delegate.
093: */
094: final static String IMPLEMENTATION_NAME = "JBossMX";
095:
096: /**
097: * The version of the implementation. This value can be retrieved from the MBean server delegate.
098: */
099: final static String IMPLEMENTATION_VERSION = "4.0.0";
100:
101: /**
102: * The vendor of the implementation. This value can be retrieved from the MBean server delegate.
103: */
104: final static String IMPLEMENTATION_VENDOR = "JBoss Organization";
105:
106: // System properties ---------------------------------------------
107:
108: /**
109: * This property can be used to configure which Model MBean implementation is
110: * used for the MBean agent's required Model MBean
111: * (see {@link javax.management.modelmbean.RequiredModelMBean}). The required
112: * Model MBean implementation will delegate all calls to the class specified
113: * with this property, e.g
114: * <tt>-Djbossmx.required.modelmbean.class=org.jboss.mx.modelmbean.XMBean</tt>
115: * would instantiate and delegate all calls made to <tt>RequiredModelMBean</tt>
116: * instance to JBossMX XMBean implementation.
117: */
118: final static String REQUIRED_MODELMBEAN_CLASS_PROPERTY = "jbossmx.required.modelmbean.class";
119:
120: /**
121: * This constant defines the default Model MBean implementation used for spec
122: * required Model MBean (<tt>javax.management.modelmbean.RequiredModelMBean</tt>)
123: * instance. Defaults to {@link org.jboss.mx.modelmbean.XMBean} implementation.
124: */
125: final static String DEFAULT_REQUIRED_MODELMBEAN_CLASS = "org.jboss.mx.modelmbean.XMBean";
126:
127: /**
128: * This property can be used to configure the default class loader repository
129: * implementation for the JVM.
130: */
131: final static String LOADER_REPOSITORY_CLASS_PROPERTY = "jbossmx.loader.repository.class";
132:
133: final static String DEFAULT_LOADER_REPOSITORY_CLASS = "org.jboss.mx.loading.UnifiedLoaderRepository3";
134: final static String UNIFIED_LOADER_REPOSITORY_CLASS = "org.jboss.mx.loading.UnifiedLoaderRepository3";
135: final static String DEFAULT_SCOPED_REPOSITORY_CLASS = "org.jboss.mx.loading.HeirarchicalLoaderRepository3";
136: final static String DEFAULT_SCOPED_REPOSITORY_PARSER_CLASS = "org.jboss.mx.loading.HeirarchicalLoaderRepository3ConfigParser";
137:
138: final static String MBEAN_REGISTRY_CLASS_PROPERTY = "jbossmx.mbean.registry.class";
139: final static String DEFAULT_MBEAN_REGISTRY_CLASS = "org.jboss.mx.server.registry.BasicMBeanRegistry";
140:
141: final static String MBEAN_SERVER_BUILDER_CLASS_PROPERTY = "javax.management.builder.initial";
142: final static String DEFAULT_MBEAN_SERVER_BUILDER_CLASS = "org.jboss.mx.server.MBeanServerBuilderImpl";
143:
144: final static String OPTIMIZE_REFLECTED_DISPATCHER = "jbossmx.optimized.dispatcher";
145:
146: //added for UnifiedLoaderRepository becoming an mbean that issues notifications
147: final static String DEFAULT_LOADER_NAME = JMI_DOMAIN
148: + ":service=LoaderRepository,name=Default";
149:
150: final static String CLASSLOADER_ADDED = "jboss.mx.classloader.added";
151: final static String CLASSLOADER_REMOVED = "jboss.mx.classloader.removed";
152: final static String CLASS_REMOVED = "jboss.mx.class.removed";
153:
154: /**
155: * The key for the context classloader for an MBean registration
156: */
157: final static String CLASSLOADER = "org.jboss.mx.classloader";
158:
159: }
|