private void printComponentStats(PrintWriter pw, Cache<?, ?> cache, Object component) { if (component == null) { return; } ComponentMetadataRepo mr = cache.getAdvancedCache().getComponentRegistry().getComponentMetadataRepo(); ComponentMetadata cm = mr.findComponentMetadata(component.getClass().getName()); if (cm == null || !(cm instanceof ManageableComponentMetadata)) { return; } ManageableComponentMetadata mcm = cm.toManageableComponentMetadata(); pw.printf("%s: {\n", mcm.getJmxObjectName()); List<JmxAttributeMetadata> attrs = new ArrayList<>(mcm.getAttributeMetadata()); Collections.sort(attrs, Comparator.comparing(JmxAttributeMetadata::getName)); for (JmxAttributeMetadata s : attrs) { pw.printf(" %s: %s\n", s.getName(), getAttributeValue(component, s)); } pw.println("}"); }
private void printComponentStats(PrintWriter pw, Cache<?, ?> cache, Object component) { if (component == null) { return; } ComponentMetadataRepo mr = cache.getAdvancedCache().getComponentRegistry().getComponentMetadataRepo(); ComponentMetadata cm = mr.findComponentMetadata(component.getClass().getName()); if (cm == null || !(cm instanceof ManageableComponentMetadata)) { return; } ManageableComponentMetadata mcm = cm.toManageableComponentMetadata(); pw.printf("%s: {\n", mcm.getJmxObjectName()); for (JmxAttributeMetadata s : mcm.getAttributeMetadata()) { pw.printf(" %s: %s\n", s.getName(), getAttributeValue(component, s)); } pw.println("}"); }
@Override public void cacheManagerStarted(GlobalComponentRegistry gcr) { GlobalConfiguration globalCfg = gcr.getGlobalConfiguration(); MBeanServer mbeanServer = JmxUtil.lookupMBeanServer(globalCfg); String groupName = getGroupName(globalCfg); String jmxDomain = globalCfg.globalJmxStatistics().domain(); Interpreter interpreter = new Interpreter(); gcr.registerComponent(interpreter, Interpreter.class); // Pick up metadata from the component metadata repository ManageableComponentMetadata meta = gcr.getComponentMetadataRepo().findComponentMetadata(Interpreter.class) .toManageableComponentMetadata(); // And use this metadata when registering the transport as a dynamic MBean try { ResourceDMBean mbean = new ResourceDMBean(interpreter, meta); interpreterObjName = new ObjectName(String.format("%s:%s,component=Interpreter", jmxDomain, groupName)); JmxUtil.registerMBean(mbean, interpreterObjName, mbeanServer); } catch (Exception e) { interpreterObjName = null; log.jmxRegistrationFailed(); } }
@Override public void cacheManagerStarted(GlobalComponentRegistry gcr) { // This works because the interpreter is not yet used internally, otherwise it would have to be in cacheManagerStarting GlobalJmxStatisticsConfiguration globalCfg = gcr.getGlobalConfiguration().globalJmxStatistics(); MBeanServer mbeanServer = JmxUtil.lookupMBeanServer(globalCfg.mbeanServerLookup(), globalCfg.properties()); String groupName = getGroupName(globalCfg.cacheManagerName()); Interpreter interpreter = new Interpreter(); gcr.registerComponent(interpreter, Interpreter.class); // Pick up metadata from the component metadata repository ManageableComponentMetadata meta = gcr.getComponentMetadataRepo().findComponentMetadata(Interpreter.class) .toManageableComponentMetadata(); // And use this metadata when registering the transport as a dynamic MBean try { ResourceDMBean mbean = new ResourceDMBean(interpreter, meta); interpreterObjName = new ObjectName(String.format("%s:%s,component=Interpreter", globalCfg.domain(), groupName)); JmxUtil.registerMBean(mbean, interpreterObjName, mbeanServer); } catch (Exception e) { interpreterObjName = null; log.jmxRegistrationFailed(); } }
.findComponentMetadata(MassIndexer.class) .toManageableComponentMetadata(); try {
.findComponentMetadata(MassIndexer.class) .toManageableComponentMetadata(); try {