2014-10-09 53 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,並使用一個引用,而不是它的工作。 但是很煩人!有沒有辦法讓它工作,甚至作爲內豆?