2011-07-15 9 views

Odpowiedz

8

Set hibernate.generate_statistics do true (zarówno w persistence.xml lub w hibernate.cfg.xml lub w konfiguracji fabrycznej fasoli sesji). Następnie zarejestrować ten Fasola:

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

(jeśli nie korzystasz z JPA, po prostu określić sessionFactory fasoli zamiast się go przez EMF)

I wreszcie trzeba serwera MBean i eksportera:

<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

gdzie to zostanie przekierowane. –

+0

co masz na myśli przekierowany? Zobaczysz go w JMX, ale zobacz moją aktualizację, zapomniałem o jednym fasoli – Bozho

+0

Dzięki Bozho. Zrobiłem, co zalecałem. Nie można tego zobaczyć. Czy muszę jawnie utworzyć agenta JMX, czy napisać eksporter komponentu MBean? –

0

Dzięki Bozho za Twoje dane wejściowe. Wprowadziłem dwie zmiany, jak określono poniżej.

<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>