私はこの問題をグーグルで調べ続けましたが、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