public SystemInfoImpl( final MBeanServer server) { super(AMXGlassfish.DEFAULT.domainRoot(), SystemInfo.class); // must be thread-safe, because features can be added at a later time mFeatures = new ConcurrentHashMap<String, Boolean>(); }
private String amxDomain() { return AMXGlassfish.DEFAULT.domainRoot().getDomain(); }
public ObjectName loadAMXMBeans() { ObjectName objectName = AMXGlassfish.DEFAULT.domainRoot(); if (!mMBeanServer.isRegistered(objectName)) { try { objectName = _loadAMXMBeans(); } catch (final Exception e) { logger.log(Level.SEVERE,"amx.error.loadAMXBeans",e); throw new RuntimeException(e); } } return objectName; }
private synchronized ObjectName loadDomainRoot() { if (DOMAIN_ROOT_OBJECTNAME != null) { return DOMAIN_ROOT_OBJECTNAME; } final DomainRootImpl domainRoot = new DomainRootImpl(); DOMAIN_ROOT_OBJECTNAME = AMXGlassfish.DEFAULT.domainRoot(); try { DOMAIN_ROOT_OBJECTNAME = mMBeanServer.registerMBean(domainRoot, DOMAIN_ROOT_OBJECTNAME).getObjectName(); loadSystemInfo(); } catch (final Exception e) { final Throwable rootCause = ExceptionUtil.getRootCause(e); logger.log(Level.INFO, "amx.error.load.DomainRoot", rootCause); throw new RuntimeException(rootCause); } return DOMAIN_ROOT_OBJECTNAME; }
private ObjectName createAndRegister( final ConfigBean cb, final ObjectName objectNameIn) { ObjectName objectName; ObjectName parentObjectName = getActualParentObjectName(cb); if (parentObjectName == null) { parentObjectName = AMXGlassfish.DEFAULT.domainRoot(); } final AMXConfigImpl impl = new AMXConfigImpl(parentObjectName, cb); try { final ObjectInstance instance = mServer.registerMBean(impl, objectNameIn); objectName = instance.getObjectName(); mRegistry.add(cb, objectName, impl); //System.out.println( "AMXConfigLoader.createAndRegister(): REGISTERED: " + objectName + " at " + System.currentTimeMillis() ); //System.out.println( JMXUtil.toString( mServer.getMBeanInfo(objectName) ) ); } catch (final JMException e) { debug(ExceptionUtil.toString(e)); objectName = null; } return objectName; }
private ObjectName buildObjectName(final ConfigBean cb) { ObjectName parentObjectName; final ConfigBean parent = getActualParent(cb); if (parent == null) { parentObjectName = AMXGlassfish.DEFAULT.domainRoot(); } else { parentObjectName = mRegistry.getObjectName(parent); } final String type = getType(cb); String name = getKey(cb); final ConfigBeanJMXSupport spt = ConfigBeanJMXSupportRegistry.getInstance(cb); if ((!spt.isSingleton()) && (name == null || name.length() == 0)) { name = "MISSING_NAME-" + sCounter.getAndIncrement(); mLogger.log(Level.WARNING, AMXLoggerInfo.nonsingletonConfigbean, new Object[] {cb.getProxyType().getName() ,name}); } //debug( "Type/name for " + cb.getProxyType().getName() + " = " + type + " = " + name ); final ObjectName objectName = ObjectNameBuilder.buildChildObjectName(mServer, parentObjectName, type, quoteIfNeeded(name)); //debug( "ObjectName for " + cb.getProxyType().getName() + " = " + objectName + " of parent " + parentObjectName ); return objectName; }
private ProxyFactory(final MBeanServerConnection conn) { mDebug.setEchoToStdOut(true); assert (conn != null); mMBeanServerConnection = conn; try { mMBeanServerID = JMXUtil.getMBeanServerID(conn); mDomainRootObjectName = AMXGlassfish.DEFAULT.domainRoot(); if (mDomainRootObjectName == null) { throw new IllegalStateException("ProxyFactory: AMX has not been started"); } mDomainRoot = getProxy(mDomainRootObjectName, DomainRoot.class); // we should always be able to listen to MBeans-- // but the http connector does not support listeners try { final MBeanServerNotificationFilter filter = new MBeanServerNotificationFilter(); filter.enableAllObjectNames(); filter.disableAllTypes(); filter.enableType(MBeanServerNotification.UNREGISTRATION_NOTIFICATION); JMXUtil.listenToMBeanServerDelegate(conn, this, filter, null); } catch (Exception e) { warning("ProxyFactory: connection does not support notifications: ", mMBeanServerID, conn); } } catch (Exception e) { warning("ProxyFactory.ProxyFactory:\n", e); throw new RuntimeException(e); } }
mDomainRootObjectName = AMXGlassfish.DEFAULT.domainRoot(); if ( mDomainRootObjectName == null )