我想按照Spring Data MongoDB Manual中的描述启用 Mongo JMX MBean 的注册,而不是使用 JMX 配置,而是使用 Java。所以我寻找相应的Java代码
<mongo:jmx />
元素。这存在吗?
我想按照Spring Data MongoDB Manual中的描述启用 Mongo JMX MBean 的注册,而不是使用 JMX 配置,而是使用 Java。所以我寻找相应的Java代码
<mongo:jmx />
元素。这存在吗?
当试图找到任何 Spring XML 解析器创建的 bean 的等价物时,第一步是查看命名空间处理程序,在这种情况下是MongoNamespaceHandler
. 检查该类表明jmx
命名空间由MongoJmxParser
. 下一步是查看它,您会看到它定义了一堆 bean;看这里。
protected void registerJmxComponents(String mongoRefName, Element element, ParserContext parserContext) {
Object eleSource = parserContext.extractSource(element);
CompositeComponentDefinition compositeDef = new CompositeComponentDefinition(element.getTagName(), eleSource);
createBeanDefEntry(AssertMetrics.class, compositeDef, mongoRefName, eleSource, parserContext);
createBeanDefEntry(BackgroundFlushingMetrics.class, compositeDef, mongoRefName, eleSource, parserContext);
createBeanDefEntry(BtreeIndexCounters.class, compositeDef, mongoRefName, eleSource, parserContext);
createBeanDefEntry(ConnectionMetrics.class, compositeDef, mongoRefName, eleSource, parserContext);
createBeanDefEntry(GlobalLockMetrics.class, compositeDef, mongoRefName, eleSource, parserContext);
createBeanDefEntry(MemoryMetrics.class, compositeDef, mongoRefName, eleSource, parserContext);
createBeanDefEntry(OperationCounters.class, compositeDef, mongoRefName, eleSource, parserContext);
createBeanDefEntry(ServerInfo.class, compositeDef, mongoRefName, eleSource, parserContext);
createBeanDefEntry(MongoAdmin.class, compositeDef, mongoRefName, eleSource, parserContext);
parserContext.registerComponent(compositeDef);
}