2017-08-25 7 views

答えて

1

任意のSpring XMLパーサーによって作成されたBeanの等価物を見つけようとするとき、最初のステップは名前空間ハンドラを調べることです。この場合はMongoNamespaceHandlerです。そのクラスを調べると、jmxという名前空間がMongoJmxParserによって解析されていることがわかります。次のステップはそれを見ることで、それは豆の束を定義していることがわかります。 hereを参照してください。

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); 

} 
+0

はい、これらのBeanを手動で作成すると、MBeanがJConsoleに表示されます。ありがとうございました。 – Gregor

関連する問題