복붙노트

[SPRING] Spring 3.0 애플리케이션에서 Hibernate 통계를 어떻게 설정 하는가?

SPRING

Spring 3.0 애플리케이션에서 Hibernate 통계를 어떻게 설정 하는가?

Spring MVC 기반 웹 애플리케이션에서 JMX를 통해 Hibernate 통계를 얻도록 어떻게 구성 할 것인가? Hibernate 성능을 추적하는 더 좋은 방법이 있는가?

해결법

  1. ==============================

    1.hibernate.generate_statistics를 true로 설정하십시오 (persistence.xml 또는 hibernate.cfg.xml 또는 세션 팩토리 bean 구성에서). 그런 다음이 bean을 등록하십시오.

    hibernate.generate_statistics를 true로 설정하십시오 (persistence.xml 또는 hibernate.cfg.xml 또는 세션 팩토리 bean 구성에서). 그런 다음이 bean을 등록하십시오.

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

    (JPA를 사용하지 않는다면 EMF를 통해 가져 오는 대신 sessionFactory 빈을 지정하십시오)

    마지막으로 당신은 mbean 서버와 수출업자가 필요합니다 :

    <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>
    
  2. ==============================

    2.귀하의 의견에 대해 Bozho에게 감사드립니다. 나는 아래와 같이 두 가지 변경을했다.

    귀하의 의견에 대해 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>  
    
  3. from https://stackoverflow.com/questions/6708602/how-to-configure-hibernate-statistics-in-spring-3-0-application by cc-by-sa and MIT license