/
githubmirror
/
panama-vector
Обзор
Документация
Войти
/
githubmirror
/
panama-vector
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/java.management/share/classes/javax/management/modelmbean/package-info.java
120 строк
5 KB
Nizar Benalla
8332070: Convert package.html files in `java.management` to package-info.java
06 июн 2024, 10:27
06 июн 2024, 10:27
c7d2841
Код
Авторство
О чём код?
/* * Copyright (c) 2000, 2024, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ /** * <p>Provides the definition of the ModelMBean classes. A Model * MBean is an MBean that acts as a bridge between the management * interface and the underlying managed resource. Both the * management interface and the managed resource are specified as * Java objects. The same Model MBean implementation can be * reused many times with different management interfaces and * managed resources, and it can provide common functionality * such as persistence and caching.</p> * * <p>A Model MBean implements the {@link * javax.management.modelmbean.ModelMBean ModelMBean} interface. * It is a {@link javax.management.DynamicMBean DynamicMBean} * whose {@link javax.management.DynamicMBean#getMBeanInfo() * getMBeanInfo} method returns an object implementing {@link * javax.management.modelmbean.ModelMBeanInfo * ModelMBeanInfo}.</p> * * <p>Every MBean has an {@link javax.management.MBeanInfo * MBeanInfo} with information about the MBean itself, and its * attributes, operations, constructors, and notifications. A * Model MBean augments this <code>MBeanInfo</code> with {@link * javax.management.Descriptor Descriptor}s that encode * additional information in the form of (key,value) pairs. * Usually, <code>Descriptor</code>s are instances of {@link * javax.management.modelmbean.DescriptorSupport * DescriptorSupport}.</p> * * <p>The class {@link * javax.management.modelmbean.RequiredModelMBean * RequiredModelMBean} provides a standard Model MBean * implementation.</p> * * <p>The following example shows a Model MBean being used to make * the <code>get</code> method of a <code>HashMap</code> * available for management through an MBean server. No other * methods are available through the MBean server. There is * nothing special about <code>HashMap</code> here. Public * methods from any public class can be exposed for management in * the same way.</p> * * <pre> * import java.lang.reflect.Method; * import java.util.HashMap; * import javax.management.*; * import javax.management.modelmbean.*; * * // ... * * MBeanServer mbs = MBeanServerFactory.createMBeanServer(); * // The MBean Server * * HashMap map = new HashMap(); * // The resource that will be managed * * // Construct the management interface for the Model MBean * Method getMethod = HashMap.class.getMethod("get", new Class[] {Object.class}); * ModelMBeanOperationInfo getInfo = * new ModelMBeanOperationInfo("Get value for key", getMethod); * ModelMBeanInfo mmbi = * new ModelMBeanInfoSupport(HashMap.class.getName(), * "Map of keys and values", * null, // no attributes * null, // no constructors * new ModelMBeanOperationInfo[] {getInfo}, * null); // no notifications * * // Make the Model MBean and link it to the resource * ModelMBean mmb = new RequiredModelMBean(mmbi); * mmb.setManagedResource(map, "ObjectReference"); * * // Register the Model MBean in the MBean Server * ObjectName mapName = new ObjectName(":type=Map,name=whatever"); * mbs.registerMBean(mmb, mapName); * * // Resource can evolve independently of the MBean * map.put("key", "value"); * * // Can access the "get" method through the MBean Server * mbs.invoke(mapName, "get", new Object[] {"key"}, new String[] {Object.class.getName()}); * // returns "value" * </pre> * * <h2><a id="spec">Package Specification</a></h2> * * <ul> * <li>See the <i>JMX 1.4 Specification</i> * <a href="https://jcp.org/aboutJava/communityprocess/mrel/jsr160/index2.html"> * JMX Specification, version 1.4</a> * </ul> * * @since 1.5 */ package javax.management.modelmbean;