Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
JDK 17 java.management.jmod - Management Module
JDK 17 java.management.jmod is the JMOD file for JDK 17 Management module.
JDK 17 Management module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\java.management.jmod.
JDK 17 Management module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Management module source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\java.management.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ com/sun/jmx/mbeanserver/MXBeanSupport.java
/* * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package com.sun.jmx.mbeanserver; import static com.sun.jmx.mbeanserver.Util.*; import java.util.Iterator; import java.util.Set; import javax.management.InstanceAlreadyExistsException; import javax.management.JMX; import javax.management.MBeanServer; import javax.management.NotCompliantMBeanException; import javax.management.ObjectName; /** * Base class for MXBeans. * * @since 1.6 */ public class MXBeanSupport extends MBeanSupport<ConvertingMethod> { /** <p>Construct an MXBean that wraps the given resource using the given MXBean interface.</p> @param resource the underlying resource for the new MXBean. @param mxbeanInterface the interface to be used to determine the MXBean's management interface. @param <T> a type parameter that allows the compiler to check that {@code resource} implements {@code mxbeanInterface}, provided that {@code mxbeanInterface} is a class constant like {@code SomeMXBean.class}. @throws IllegalArgumentException if {@code resource} is null or if it does not implement the class {@code mxbeanInterface} or if that class is not a valid MXBean interface. */ public <T> MXBeanSupport(T resource, Class<T> mxbeanInterface) throws NotCompliantMBeanException { super(resource, mxbeanInterface); } @Override MBeanIntrospector<ConvertingMethod> getMBeanIntrospector() { return MXBeanIntrospector.getInstance(); } @Override Object getCookie() { return mxbeanLookup; } static <T> Class<? super T> findMXBeanInterface(Class<T> resourceClass) { if (resourceClass == null) throw new IllegalArgumentException("Null resource class"); final Set<Class<?>> intfs = transitiveInterfaces(resourceClass); final Set<Class<?>> candidates = newSet(); for (Class<?> intf : intfs) { if (JMX.isMXBeanInterface(intf)) candidates.add(intf); } reduce: while (candidates.size() > 1) { for (Class<?> intf : candidates) { for (Iterator<Class<?>> it = candidates.iterator(); it.hasNext(); ) { final Class<?> intf2 = it.next(); if (intf != intf2 && intf2.isAssignableFrom(intf)) { it.remove(); continue reduce; } } } final String msg = "Class " + resourceClass.getName() + " implements more than " + "one MXBean interface: " + candidates; throw new IllegalArgumentException(msg); } if (candidates.iterator().hasNext()) { return Util.cast(candidates.iterator().next()); } else { final String msg = "Class " + resourceClass.getName() + " is not a JMX compliant MXBean"; throw new IllegalArgumentException(msg); } } /* Return all interfaces inherited by this class, directly or * indirectly through the parent class and interfaces. */ private static Set<Class<?>> transitiveInterfaces(Class<?> c) { Set<Class<?>> set = newSet(); transitiveInterfaces(c, set); return set; } private static void transitiveInterfaces(Class<?> c, Set<Class<?>> intfs) { if (c == null) return; if (c.isInterface()) intfs.add(c); transitiveInterfaces(c.getSuperclass(), intfs); for (Class<?> sup : c.getInterfaces()) transitiveInterfaces(sup, intfs); } /* * The sequence of events for tracking inter-MXBean references is * relatively complicated. We use the magical preRegister2 method * which the MBeanServer knows about. The steps during registration * are: * (1) Call user preRegister, if any. If exception, abandon. * (2) Call preRegister2 and hence this register method. If exception, * call postRegister(false) and abandon. * (3) Try to register the MBean. If exception, call registerFailed() * which will call the unregister method. (Also call postRegister(false).) * (4) If we get this far, we can call postRegister(true). * * When we are wrapped in an instance of javax.management.StandardMBean, * things are simpler. That class calls this method from its preRegister, * and propagates any exception. There is no user preRegister in this case. * If this method succeeds but registration subsequently fails, * StandardMBean calls unregister from its postRegister(false) method. */ @Override public void register(MBeanServer server, ObjectName name) throws InstanceAlreadyExistsException { if (name == null) throw new IllegalArgumentException("Null object name"); // eventually we could have some logic to supply a default name synchronized (lock) { this.mxbeanLookup = MXBeanLookup.lookupFor(server); this.mxbeanLookup.addReference(name, getResource()); this.objectName = name; } } @Override public void unregister() { synchronized (lock) { if (mxbeanLookup != null) { if (mxbeanLookup.removeReference(objectName, getResource())) objectName = null; } } } private final Object lock = new Object(); // for mxbeanLookup and objectName private MXBeanLookup mxbeanLookup; private ObjectName objectName; }
⏎ com/sun/jmx/mbeanserver/MXBeanSupport.java
Or download all of them as a single archive file:
File name: java.management-17.0.5-src.zip File size: 850134 bytes Release date: 2022-09-13 Download
⇒ JDK 17 java.management.rmi.jmod - Management RMI Module
2023-09-23, 11246👍, 0💬
Popular Posts:
The Apache FontBox library is an open source Java tool to obtain low level information from font fil...
How to download and install ojdbc7.jar for Oracle 12c R1? ojdbc8.jar for Oracle 12c R1 is a Java 7 a...
Smack is an Open Source XMPP (Jabber) client library for instant messaging and presence. A pure Java...
Commons VFS provides a single API for accessing various different file systems. It presents a unifor...
commons-collections4-4.4 -sources.jaris the source JAR file for Apache Commons Collections 4.2, whic...