0
Spring Data MongoDB Manualに記載されているMongo JMX MBeanの登録を有効にしたいのですが、JMX設定ではなくJavaで設定します。そこで私は対応するJavaコードを、Spring Java Configurationを使用してSpringデータMongo MBeanを登録するには?
<mongo:jmx />
要素で探します。これは存在しますか?
Spring Data MongoDB Manualに記載されているMongo JMX MBeanの登録を有効にしたいのですが、JMX設定ではなくJavaで設定します。そこで私は対応するJavaコードを、Spring Java Configurationを使用してSpringデータMongo MBeanを登録するには?
<mongo:jmx />
要素で探します。これは存在しますか?
任意の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);
}
はい、これらのBeanを手動で作成すると、MBeanがJConsoleに表示されます。ありがとうございました。 – Gregor