Spring をその と組み合わせて使用していMBeanExporter
ます。への呼び出しが行われたときにのみインスタンス化する必要があるプロトタイプ Bean 定義がありますApplicationContext.getBean()
。ただし、MBeanExporter
コンテナーをブートストラップするときに、(誤って) プロトタイプ Bean のインスタンスをインスタンス化しています。
何年も前からこのバグレポートを見つけましたが、注目に値する応答はありませんでした。
これはよくあるシナリオのように思えるので、何かが欠けているように感じます。プロトタイプを前もってインスタンス化しないことが重要でありMBeanExporter
、JMX 統合を簡素化するために使用できます。誰かが私が間違っていることを説明できますか?
参考までに、私の春の設定は次のようになります。
<bean id="foo" class="MyPrototypeClassName" scope="prototype"/>
<bean id="namingStrategy" class="org.springframework.jmx.export.naming.IdentityNamingStrategy"/>
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter">
<property name="namingStrategy" ref="namingStrategy"/>
<property name="autodetect" value="true"/>
</bean>