2011-07-15 37 views

回答

8

設置hibernate.generate_statisticstrue(或者在persistence.xmlhibernate.cfg.xml或在您的會話工廠bean配置中)。 (如果您沒有使用JPA,只是指定sessionFactory豆,而不是得到它通過EMF)的

<bean id="hibernateStatisticsMBean" class="org.hibernate.jmx.StatisticsService"> 
    <property name="statisticsEnabled" value="true" /> 
    <property name="sessionFactory" value="#{entityManagerFactory.sessionFactory}" /> 
</bean> 

最後,你需要一個MBean服務器和出口:然後註冊這個bean

<bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean"> 
    <property name="locateExistingServerIfPossible" value="true" /> 
</bean> 

<bean id="jmxExporter" class="org.springframework.jmx.export.MBeanExporter" 
    lazy-init="false"> 
    <property name="server" ref="mbeanServer" /> 
    <property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING"/> 
    <property name="beans"> 
     <map>    
      <entry key="yourkey:name=hibernateStatistics" value-ref="hibernateStatisticsMBean" /> 
     </map> 
    </property> 
</bean> 
+0

那裏將被重定向。 –

+0

你是什麼意思重定向?你會在JMX中看到它,但看到我的更新,我忘了一個豆 – Bozho

+0

感謝Bozho。我按照建議做了。看不到那反映。我是否需要顯式創建JMX代理或編寫MBean導出器? –

0

感謝Bozho的投入。我做了兩個更改,如下所示。

<bean id="jmxExporter" class="org.springframework.jmx.export.MBeanExporter"   lazy-init="false">  
    <property name="server" ref="mbeanServer" /> 
    <property name="beans">  
    <map> 
      <entry key="Qvantel:name=hibernateStatistics" 
      value-ref="hibernateStatisticsMBean" /> 
    </map> 
    </property> 
    <property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING" /> 
    </bean> 
相關問題