private String getSourceBeanKey(MessageSourceMetrics handler) { // This ordering of keys seems to work with default settings of JConsole return String.format( domain + ":type=MessageSource,name=%s,bean=%s" + getStaticNames(), handler.getName(), handler.getSource()); }
private void registerSources() { for (SimpleMessageSourceMetrics source : sources) { MessageSourceMetrics monitor = enhanceSourceMonitor(source); String name = monitor.getName(); this.allSourcesByName.put(name, monitor); if (!PatternMatchUtils.simpleMatch(this.componentNamePatterns, name)) { continue; } // Only register once... if (!sourcesByName.containsKey(name)) { String beanKey = getSourceBeanKey(monitor); if (name != null) { sourcesByName.put(name, monitor); } registerBeanNameOrInstance(monitor, beanKey); // Expose the raw bean if it is managed MessageSource<?> bean = source.getMessageSource(); if (assembler.includeBean(bean.getClass(), source.getName())) { registerBeanInstance(bean, this.getMonitoredIntegrationObjectBeanKey(bean, name)); } } } }