package org.jboss.as.platform.mbean; import java.lang.management.ManagementFactory; import org.jboss.as.controller.SimpleResourceDefinition; import org.jboss.as.controller.registry.ManagementResourceRegistration; /** * @author Tomaz Cerar (c) 2013 Red Hat Inc. */ public class PlatformMBeanResourceDefinition extends SimpleResourceDefinition { static final PlatformMBeanResourceDefinition INSTANCE = new PlatformMBeanResourceDefinition(); private PlatformMBeanResourceDefinition() { super(new Parameters(PlatformMBeanConstants.PLATFORM_MBEAN_PATH, PlatformMBeanUtil.getResolver("platform-mbeans")).setRuntime()); } @Override public void registerChildren(ManagementResourceRegistration resourceRegistration) { super.registerChildren(resourceRegistration); resourceRegistration.registerSubModel(ClassLoadingResourceDefinition.INSTANCE); if (ManagementFactory.getCompilationMXBean() != null) { resourceRegistration.registerSubModel(CompilationResourceDefinition.INSTANCE); } resourceRegistration.registerSubModel(GarbageCollectorRootResourceDefinition.INSTANCE); resourceRegistration.registerSubModel(MemoryManagerRootResourceDefinition.INSTANCE); resourceRegistration.registerSubModel(MemoryResourceDefinition.INSTANCE); resourceRegistration.registerSubModel(MemoryPoolRootResourceDefinition.INSTANCE); resourceRegistration.registerSubModel(OperatingSystemResourceDefinition.INSTANCE); resourceRegistration.registerSubModel(RuntimeResourceDefinition.INSTANCE); resourceRegistration.registerSubModel(ThreadResourceDefinition.INSTANCE); resourceRegistration.registerSubModel(BufferPoolRootResourceDefinition.INSTANCE); } }