2

私はSpring JMXの初心者です。そして、Spring JMX を介してプロジェクトのプロトタイプ Bean を監視したいので、動作している Spring の MbeanExporter に Bean (Singleton) を登録するサンプル プロジェクトを作成しました。次に、Google で Non-Singleton Bean を Spring JMX に登録して監視しましたが、役立つものは何も見つかりませんでした。

私の問題を説明するSpringフォーラムの投稿に出くわしましたが、その答えは的を射ていません。

4

1 に答える 1

1

私はこの問題をグーグルで調べ続けましたが、stackoverlow自体に本当に役立つ投稿がほとんど見つかりませんでした。ここにコードをコピーするだけです:-

 @Component("MyPrototypeScopedBeanName")
 @Scope(value = "prototype")
 @ManagedResource     
 public class MyPrototypeScopedBeanName implements SelfNaming

 @Autowired
 MBeanExporter exporter;
 .
 .
 @PostConstruct
 private void init() throws Exception {
    exporter.registerManagedResource(this);
 }
 .
 .
 .

 @Override
 public ObjectName getObjectName() throws MalformedObjectNameException {
     return new ObjectName("com.foobar", "name", this.toString());
 }

また、自動検出中にこれを無視するようにエクスポーターを構成することもできます。これは、自動検出がプロトタイプで動作する方法で、JMX コンソールに追加のインスタンスを追加する別のインスタンスを作成するためです。

<property name="autodetect" value="true"/>
<!--  Done to prevent creation of additional prototype during autodetect routine -->
<property name="excludedBeans">
    <list>
        <value>MyPrototypeScopedBeanName</value>
    </list>
</property>

スタックオーバーフロー リンク

別のリンク

礼儀:- @theJC

于 2015-04-28T17:30:20.947 に答える