java melody - spring 没有 sql stat - 没有 JNDI

Jos*_*eph 2 java spring hibernate maven java-melody

我有一个带有 javamelody 的 Spring Maven 项目。

我使用 hibernate 和 spring,没有任何 JNDI 数据源。

xml conf中的数据源:

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://${database.location}:${database.port}/${database.dbname}?zeroDateTimeBehavior=convertToNull&amp;characterEncoding=utf8"/>
        <property name="username" value="${database.username}"/>
        <property name="password" value="${database.password}"/>
    </bean> 

 <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml" />
        <property name="persistenceUnitName" value="rtt-backend" />
        <property name="dataSource" ref="dataSource" />
        <property name="jpaVendorAdapter" ref="jpaVendorAdapter" />
        <property name="jpaDialect" ref="jpaDialect" />
    </bean>

    <bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
        <property name="databasePlatform" value="org.hibernate.dialect.MySQL5Dialect" />
        <property name="database" value="MYSQL" />
        <property name="showSql" value="false" />
    </bean>

    <bean id="jpaDialect" class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />

    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
        <property name="dataSource" ref="dataSource" />
        <property name="jpaDialect" ref="jpaDialect" />
    </bean>

    <tx:annotation-driven transaction-manager="transactionManager" />
Run Code Online (Sandbox Code Playgroud)

但如果我连接到 javamelody 监视器页面显示:“sql 统计 sql - 1 天 -None”

我试过 :

  • 在 presistence.xml 中:

    net.bull.javamelody.JpaPersistence

  • 使用包装器作为数据源

<bean id="wrappedDataSource" class="net.bull.javamelody.SpringDataSourceFactoryBean">
<property name="targetName" value="dataSource" />   </bean>
Run Code Online (Sandbox Code Playgroud)

但还是什么都没有。

eve*_*nat 5

正如用户指南中所述,只需添加您的 spring 上下文配置:

classpath:net/bull/javamelody/monitoring-spring.xml
Run Code Online (Sandbox Code Playgroud)

或者如果你想使用

<bean id="wrappedDataSource" class="net.bull.javamelody.SpringDataSourceFactoryBean">
    <property name="targetName" value="dataSource" />
</bean>
Run Code Online (Sandbox Code Playgroud)

然后替换你的entityManagerFactory和transactionManager

<property name="dataSource" ref="dataSource" />
Run Code Online (Sandbox Code Playgroud)

<property name="dataSource" ref="wrappedDataSource" />
Run Code Online (Sandbox Code Playgroud)