blob: af8df3ed8ae87d89db1546b2eb5451e6d319f770 [file] [log] [blame]
Stephane Frenot1cee87d2006-07-17 12:14:31 +00001/*
2 * Copyright (C) MX4J.
3 * All rights reserved.
4 *
5 * This software is distributed under the terms of the MX4J License version 1.0.
6 * See the terms of the MX4J License in the documentation provided with this software.
7 */
Stephane Frenot641ddbc2006-09-19 14:42:16 +00008/*
9 * Licensed to the Apache Software Foundation (ASF) under one
10 * or more contributor license agreements. See the NOTICE file
11 * distributed with this work for additional information
12 * regarding copyright ownership. The ASF licenses this file
13 * to you under the Apache License, Version 2.0 (the
14 * "License"); you may not use this file except in compliance
15 * with the License. You may obtain a copy of the License at
16 *
17 * http://www.apache.org/licenses/LICENSE-2.0
18 *
19 * Unless required by applicable law or agreed to in writing,
20 * software distributed under the License is distributed on an
21 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
22 * KIND, either express or implied. See the License for the
23 * specific language governing permissions and limitations
24 * under the License.
Stephane Frenot1cee87d2006-07-17 12:14:31 +000025 */
26package org.apache.felix.mosgi.jmx.agent.mx4j;
27
28/**
29 * This class holds the system property keys that the MX4J implementation uses to plugin
30 * custom components. <br>
31 * The naming convention is that, for a defined constant, the corrispondent system property
32 * is obtained by converting the constant name to lowercase and by replacing the underscores
33 * with dots so that, for example, the constant <code>MX4J_MBEANSERVER_CLASSLOADER_REPOSITORY</code>
34 * correspond to the system property key <code>mx4j.mbeanserver.classloader.repository</code>
35 *
36 * @author <a href="mailto:biorn_steedom@users.sourceforge.net">Simone Bordet</a>
37 * @version $Revision: 1.1.1.1 $
38 */
39public final class MX4JSystemKeys
40{
41 /**
42 * Specifies a full qualified class name of a class implementing the {@link mx4j.server.MBeanRepository}
43 * interface, that will be used by the MBeanServer to store information about registered MBeans.
44 */
45 public static final String MX4J_MBEANSERVER_REPOSITORY = "mx4j.mbeanserver.repository";
46
47 /**
48 * Specifies a full qualified class name of a class extending the {@link mx4j.server.ModifiableClassLoaderRepository}
49 * class, that will be used by the MBeanServer to store ClassLoader MBeans that wants to be registered in
50 * the MBeanServer's ClassLoaderRepository.
51 */
52 public static final String MX4J_MBEANSERVER_CLASSLOADER_REPOSITORY = "mx4j.mbeanserver.classloader.repository";
53
54 /**
55 * Specifies the level of logging performed by the MX4J JMX implementation.
56 * Possible value are (case insensitive), from most verbose to least verbose:
57 * <ul>
58 * <li>trace</li>
59 * <li>debug</li>
60 * <li>info</li>
61 * <li>warn</li>
62 * <li>error</li>
63 * <li>fatal</li>
64 * </ul>
65 */
66 public static final String MX4J_LOG_PRIORITY = "mx4j.log.priority";
67
68 /**
69 * Specifies a full qualified class name of a class extending the {@link mx4j.log.Logger} class, that
70 * will be used as prototype for new loggers created.
71 */
72 public static final String MX4J_LOG_PROTOTYPE = "mx4j.log.prototype";
73
74 /**
75 * When this property is set to false (as specified by {@link Boolean#valueOf(String)}), the MX4J
76 * JMX implementation will accept as MBean interfaces of standard MBeans also interfaces defined in
77 * different packages or as nested classes of the MBean class.
78 * So for example, will be possible for a com.foo.Service to have a management interface called
79 * com.bar.ServiceMBean.
80 * If not defined, or if set to true, only MBean interfaces of the same package of the MBean class
81 * are considered valid management interfaces.
82 */
83 public static final String MX4J_STRICT_MBEAN_INTERFACE = "mx4j.strict.mbean.interface";
84
85 /**
86 * Specifies a full qualified class name of a class implementing the {@link mx4j.server.MBeanInvoker} interface,
87 * that will be used as invoker for standard MBeans.
88 * Two classes are provided by the MX4J JMX implementation: {@link mx4j.server.BCELMBeanInvoker} and
89 * {@link mx4j.server.ReflectedMBeanInvoker}.
90 * The first one will use BCEL classes (if present) to speed up invocations on standard MBeans, while the second
91 * uses reflection.
92 * If, for any reason, the BCEL invocation fails, then the reflected invoker is used.
93 */
94 public static final String MX4J_MBEAN_INVOKER = "mx4j.mbean.invoker";
95
96 /**
97 * From JMX 1.2, names for attributes and operations, as well as their (return) types, must be valid
98 * Java identifiers, as specified by {@link Character#isJavaIdentifierStart} and {@link Character#isJavaIdentifierPart}.
99 * When set to true, (as specified by {@link Boolean#valueOf(String)}), this property turnes off this check.
100 */
101 public static String MX4J_UNCHECKED_IDENTIFIERS = "jmx.unchecked.identifiers";
102}