01: /*
02: * Copyright (C) The MX4J Contributors.
03: * All rights reserved.
04: *
05: * This software is distributed under the terms of the MX4J License version 1.0.
06: * See the terms of the MX4J License in the documentation provided with this software.
07: */
08:
09: package mx4j;
10:
11: /**
12: * This class holds the system property keys that the MX4J implementation uses to plugin
13: * custom components. <br>
14: * The naming convention is that, for a defined constant, the corrispondent system property
15: * is obtained by converting the constant name to lowercase and by replacing the underscores
16: * with dots so that, for example, the constant <code>MX4J_MBEANSERVER_CLASSLOADER_REPOSITORY</code>
17: * correspond to the system property key <code>mx4j.mbeanserver.classloader.repository</code>
18: *
19: * @version $Revision: 1.7 $
20: */
21: public final class MX4JSystemKeys {
22: /**
23: * Specifies a full qualified class name of a class implementing the {@link mx4j.server.MBeanRepository}
24: * interface, that will be used by the MBeanServer to store information about registered MBeans.
25: */
26: public static final String MX4J_MBEANSERVER_REPOSITORY = "mx4j.mbeanserver.repository";
27:
28: /**
29: * Specifies a full qualified class name of a class extending the {@link mx4j.server.ModifiableClassLoaderRepository}
30: * class, that will be used by the MBeanServer to store ClassLoader MBeans that wants to be registered in
31: * the MBeanServer's ClassLoaderRepository.
32: */
33: public static final String MX4J_MBEANSERVER_CLASSLOADER_REPOSITORY = "mx4j.mbeanserver.classloader.repository";
34:
35: /**
36: * Specifies the level of logging performed by the MX4J JMX implementation.
37: * Possible value are (case insensitive), from most verbose to least verbose:
38: * <ul>
39: * <li>trace</li>
40: * <li>debug</li>
41: * <li>info</li>
42: * <li>warn</li>
43: * <li>error</li>
44: * <li>fatal</li>
45: * </ul>
46: */
47: public static final String MX4J_LOG_PRIORITY = "mx4j.log.priority";
48:
49: /**
50: * Specifies a full qualified class name of a class extending the {@link mx4j.log.Logger} class, that
51: * will be used as prototype for new loggers created.
52: */
53: public static final String MX4J_LOG_PROTOTYPE = "mx4j.log.prototype";
54:
55: /**
56: * When this property is set to false (as specified by {@link Boolean#valueOf(String)}), the MX4J
57: * JMX implementation will accept as MBean interfaces of standard MBeans also interfaces defined in
58: * different packages or as nested classes of the MBean class.
59: * So for example, will be possible for a com.foo.Service to have a management interface called
60: * com.bar.ServiceMBean.
61: * If not defined, or if set to true, only MBean interfaces of the same package of the MBean class
62: * are considered valid management interfaces.
63: */
64: public static final String MX4J_STRICT_MBEAN_INTERFACE = "mx4j.strict.mbean.interface";
65:
66: /**
67: * Specifies a full qualified class name of a class implementing the {@link mx4j.server.MBeanInvoker} interface,
68: * that will be used as invoker for standard MBeans.
69: * Two classes are provided by the MX4J JMX implementation: {@link mx4j.server.BCELMBeanInvoker} and
70: * {@link mx4j.server.CachingReflectionMBeanInvoker}.
71: * The first one will use BCEL classes (if present) to speed up invocations on standard MBeans, while the second
72: * uses reflection.
73: * If, for any reason, the BCEL invocation fails, then the reflected invoker is used.
74: */
75: public static final String MX4J_MBEAN_INVOKER = "mx4j.mbean.invoker";
76:
77: /**
78: * Specifies if the {@link javax.management.ObjectName} class should cache ObjectName instances.
79: * This property is 'true' by default.
80: * ObjectName caching can be disabled by setting this property to 'false', to reduce memory footprint
81: * in case of use of large numbers of ObjectNames.
82: */
83: public static final String MX4J_OBJECTNAME_CACHING = "mx4j.objectname.caching";
84:
85: /**
86: * Specifies a full qualified name of a class implementing the {@link mx4j.server.MBeanMetaData} interface,
87: * that is used internally by MX4J to store information about the MBean.
88: *
89: * @see mx4j.server.MBeanMetaData.Factory
90: */
91: public static final String MX4J_MBEAN_METADATA = "mx4j.mbean.metadata";
92: }
|