Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 非单例(原型)SpringBeans JMX可监控_Java_Spring_Mbeans_Spring Jmx_Mbeanexporter - Fatal编程技术网

Java 非单例(原型)SpringBeans JMX可监控

Java 非单例(原型)SpringBeans JMX可监控,java,spring,mbeans,spring-jmx,mbeanexporter,Java,Spring,Mbeans,Spring Jmx,Mbeanexporter,我是Spring JMX的新手。我想通过SpringJMX监控我的项目中的原型bean,我创建了一个示例项目,用Spring的MbeanExporter注册一个正在工作的bean(单例)。然后我在谷歌上用SpringJMX注册了这个非单例bean,并对它进行了监控,但我没有发现任何有用的东西 我遇到了一个描述我的问题的答案,但这个答案并不中肯 我一直在谷歌上搜索这个问题,我在stackoverlow上发现了一些真正对我有帮助的帖子。只需在此处复制代码:- @Component("MyProto

我是Spring JMX的新手。我想通过SpringJMX监控我的项目中的原型bean,我创建了一个示例项目,用Spring的MbeanExporter注册一个正在工作的bean(单例)。然后我在谷歌上用SpringJMX注册了这个非单例bean,并对它进行了监控,但我没有发现任何有用的东西


我遇到了一个描述我的问题的答案,但这个答案并不中肯

我一直在谷歌上搜索这个问题,我在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());
 }
此外,您可能希望将导出器配置为在autodetect期间忽略此问题,因为autodetect处理原型的方式将为自身创建另一个实例,该实例将向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>

MyPrototypeScopedBeanName

礼节:-@theJC