【问题标题】:java melody - spring no sql stat - without JNDIjava melody - spring 没有 sql stat - 没有 JNDI
【发布时间】:2014-12-18 01:24:42
【问题描述】:

我有一个 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>

但还是一无所获。

【问题讨论】:

    标签: java spring hibernate maven java-melody


    【解决方案1】:

    正如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" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-08
      • 2015-06-15
      • 1970-01-01
      • 1970-01-01
      • 2017-07-23
      • 2016-02-23
      相关资源
      最近更新 更多