2014-10-09 52 views
1

我有一个Spring-Boot应用程序,它只有一个简单的其余控制器。在这个控制器上,我添加了jmx注释@ManagedResource和@ManagedOperation,它工作正常。它在Jmx中正确显示。 此应用程序依赖于“全球通用”库来共享我们所有模块的许多基本功能。Spring-Boot:Jmx注释在库中不起作用

但是,如果我将相同的注释添加到此库中的类,它将被忽略! 在你问之前,是的,图书馆是进口的最新变化。 日志中没有错误或警告消息。

我正在使用xml文件配置我的所有bean。这两个类都是在同一个文件中定义的bean。 一个是@RestController。另一个是一个简单的实用程序类。

有什么想法?

回答

0

确保Spring管理的全局公共库中的类。只要图书馆没有任何班级由Spring管理,这些注释就没有任何影响。

+0

他们是。就像我说的那样,这两个类都是在同一个春天的xml文件中定义的。 – tleveque 2014-10-09 15:01:07

0

我发现的问题: ,这不是工作被定义为“内部”豆的豆:

<bean id="imMetrics" class="com.imetrik.global.common.metrics.ImGlobalMetrics" init-method="init"> 
    ... 
    <property name="reporterList"> 
     <util:list> 
      <bean id="jmxReporter" class="com.imetrik.global.common.metrics.reporters.ImJmxReporter"> 
       <property name="registryId" value="metricRegistry1"/> 
       <property name="durationUnit" value="SECONDS"/> 
       <property name="rateUnit" value="SECONDS"/> 
       <property name="domain" value="com.imetrik.global.metric"/> 
      </bean> 
     </util:list> 
    </property> 
</bean> 

的注解豆“jmxReporter”。

但是,如果我把它作为一个普通的“第一级”bean,并使用一个引用,而不是它的工作。 但是很烦人!有没有办法让它工作,甚至作为内豆?