JavaMelody 上没有 SQL 统计信息 - JBoss EAP 7
No SQL stats on JavaMelody - JBoss EAP 7
我在 JBoss EAP 7.2 上有一个 Maven 应用程序 运行。以下详细信息:
- 构建:Maven 3.6
- 服务器:JBoss EAP 7.2
- Java:OpenJDK 11
- Java旋律核心:1.83.0
- 包:EAR
- 应用程序:Struts2.5.22
- 数据库:Oracle 18c
- OJDBC Driver: 18.3
尽管我设法配置了 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
我在 JBoss EAP 7.2 上有一个 Maven 应用程序 运行。以下详细信息:
- 构建:Maven 3.6
- 服务器:JBoss EAP 7.2
- Java:OpenJDK 11
- Java旋律核心:1.83.0
- 包:EAR
- 应用程序:Struts2.5.22
- 数据库:Oracle 18c
- OJDBC Driver: 18.3
尽管我设法配置了 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