1

在我们的 Web 应用程序中,我们使用 spring、hibernate 和 sql server 2016 作为数据库。我们正在使用 jndi 连接到数据库。为了记录休眠执行的所有查询,我正在尝试实现 p6spy。

这是我所做的更改。

将资源信息从

<Resource name="jdbc/eportalcore" auth="Container" 
            type="javax.sql.DataSource" 
            driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
            url="jdbc:sqlserver://localhost:1433;databaseName=eportal-core;" 
            username="eportaldbadmin" 
            password="P@ssw0rd" 
            maxTotal="100" 
            maxIdle="20" 
            minIdle="5" 
            maxWaitMillis="10000" />

<Resource name="jdbc/eportalcore" auth="Container" 
            type="javax.sql.DataSource" 
            driverClassName="com.p6spy.engine.spy.P6SpyDriver" 
            url="jdbc:p6spy:sqlserver://localhost:1433/eportal-core" 
            username="eportaldbadmin" 
            password="P@ssw0rd" 
            maxTotal="100" 
            maxIdle="20" 
            minIdle="5" 
            maxWaitMillis="10000" />

并在tomcat目录的lib文件夹下添加了spy.properties文件。我也把它放在p6spy-3.0.0.jar了 lib 文件夹中。

但在此之后,我的应用程序没有连接到数据库。我在这里犯了什么错误?如果我删除此更改,那么它工作正常。

有什么建议么?

4

1 回答 1

0

我有同样的问题,这就是我为使它工作所做的工作。请注意,我的数据库连接属性位于属性文件中(应该不是问题),并且我使用 tomcat 作为应用程序服务器。您还可以在项目中添加 P6Spy 作为 Maven 依赖项。

之前:db.properties

db.driver=net.sourceforge.jtds.jdbc.Driver
db.url=jdbc:jtds:sqlserver://${db.server}/${db.name};useNTLMv2=true;domain=XX

之后下载(撰写此回复时的最新版本)项目。将 p6spy-3.7.0.jar 和 spy.properties 放在 tomcat/lib 文件夹中。更改 spy.properties 和应用程序属性,如下所述。重新启动应用程序,您应该会找到一个 spy.log,您的日志可以正常打印。

数据库属性

db.driver=com.p6spy.engine.spy.P6SpyDriver
db.url=jdbc:p6spy:jtds:sqlserver://${db.server}/${db.name};useNTLMv2=true;domain=XX

间谍属性

driverlist=net.sourceforge.jtds.jdbc.Driver
于 2018-05-07T17:18:59.450 回答