JavaMelody 上没有 SQL 统计信息 - JBoss EAP 7

No SQL stats on JavaMelody - JBoss EAP 7

我在 JBoss EAP 7.2 上有一个 Maven 应用程序 运行。以下详细信息:

尽管我设法配置了 JavaMelody 并查看了主要统计数据,但我似乎无法找到配置 SQL 监控的方法。

目前,对于我的 JDBC 配置,我在我的 persistence.xml 文件中使用 <jta-data-source>java:jboss/datasources/myDS</jta-data-source>,它从 JBoss 的 standalone.xml 读取数据源服务器。

我已经尝试在我的 persistence.xml 文件中进行一些更改,例如添加:

<property name="net.bull.javamelody.jpa.provider" value="org.hibernate.jpa.HibernatePersistenceProvider" />

<property name="hibernate.connection.driver_class" value="net.bull.javamelody.JdbcDriver"/>

我的struts.xml配置

<package name="myApp" extends="struts-default">
   <interceptors>
      <interceptor name="monitoring" class="net.bull.javamelody.StrutsInterceptor" />
      <interceptor-stack name="myAppStack">
         <interceptor-ref name="monitoring" />
         <interceptor-ref name="prepare" />
         ....
         <interceptor-ref name="json" />
         <interceptor-ref name="debugging" />
         <interceptor-ref name="defaultStack" />
      </interceptor-stack>
   </interceptors>
   <default-interceptor-ref name="myAppStack" />
</package>

甚至使用 hibernate.connection.url/username/password 属性完全在持久性文件中配置我的数据源,但没有成功。

我试着按照此处的说明进行操作,但我似乎找不到问题所在: https://github.com/javamelody/javamelody/wiki/UserGuide#7-jdbc https://github.com/javamelody/javamelody/wiki/UserGuideAdvanced#jpa-monitoring

注意:在我的 persistence.xml 中,我也使用了 <property name="hibernate.connection.driver" value="oracle.jdbc.OracleDriver" /> 。我不确定这是否有某种冲突。

JPA 监控与 SQL 监控完全不同:不要尝试 net.bull.javamelody.jpa.provider 监控 SQL。如果你使用来自 JNDI 的数据源,那么尝试 hibernate.connection.driver_class 是没有用的。

对于SQL监控,可以尝试从JNDI中的数据源监控SQL:

  • 要么添加 javamelody 参数数据源,例如系统 属性: -Djavamelody.datasources=java:jboss/datasources/myDS
  • 或将您的数据源重命名为 java:jdbc/myDS

然后检查 javamelody 报告底部的 "Debugging logs"。

并且由于您使用的是 EAR,请参阅 https://github.com/javamelody/javamelody/wiki/UserGuideAdvanced#setup-javamelody-in-an-ear-file