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

标签 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" />

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

我尝试过:

  • 在 presistence.xml 中:

    net.bull.javamelody.JpaPersistence

  • 使用数据源包装器

<bean id="wrappedDataSource" class="net.bull.javamelody.SpringDataSourceFactoryBean">
<property name="targetName" value="dataSource" />   </bean>

但还是什么都没有。

最佳答案

正如 user guide 中所述,只需添加您的 spring 上下文配置:

classpath:net/bull/javamelody/monitoring-spring.xml

或者如果你想使用

<bean id="wrappedDataSource" class="net.bull.javamelody.SpringDataSourceFactoryBean">
    <property name="targetName" value="dataSource" />
</bean>

然后替换你的entityManagerFactory和transactionManager

<property name="dataSource" ref="dataSource" />

<property name="dataSource" ref="wrappedDataSource" />

关于java melody - spring 没有 sql stat - 没有 JNDI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26510093/

相关文章:

java - 向 Java 流添加回调函数

java - 从txt文件中读取数据并使用java将其插入数据库

使用 apache poi 3.9 的 Java 程序在 XML 构建文件中遇到错误

mysql - Hibernate MYSQL字符异常

java - Hibernate 没有找到具有该名称的@NamedStoredProcedureQuery

java - Datanucleus Google App Engine 一对多关系

java - Camel RabbitMQ 默认 ConnectionFactory?

java - Spring 3 JavaConfig - 注入(inject)数据源时出现问题

java - 加入 hql hibernate 的预期路径

java - Spring : @Transactional @Scheduled method throws TransactionException