无法实现p6Spy
我试过两种方法将p6Spy功能添加到弹簧使用的项目中。无法实现p6Spy
路线我,
http://templth.blogspot.com.tr/2004/11/integrate-p6spy-with-spring.html 我改变了我的司机与com.p6spy.engine.spy.P6SpyDriver
和realdriver realdriver=com.ibm.db2.jcc.DB2Driver
加入spy.properties
文件。
但不知何故我的真实驱动程序正在注册p6spy 驱动程序com.ibm.db2.jcc.DB2Driver是spy.properties中的真实驱动程序,但它已在p6spy之前加载。 p6spy不会包装这些连接。要么阻止驱动程序加载,要么尝试在spy.properties中将'deregisterdrivers'设置为true
使用:p6spy:
前缀对我不起作用。它说无法建立与该网址的连接。
所以,我选择在属性文件中设置这个deregisterdrivers=true
。 这次我在日志文件中获取sql,但无法执行sqls。我能够在另一个sql编辑器中执行sql。这似乎是真正的联系,并有一个虚拟的联系。
Route II, 使用春天。所以我试过这种方法。将数据源明确赋予p6Spy。但这次,春天抱怨多个java.sql.DataSource实例。 com.firm.BasicDataFill
和com.p6spy.engine.spy.P6DataSource
都实现了DataSource。春天不能获得一个单身人士。
http://templth.blogspot.com.tr/2004/11/integrate-p6spy-with-spring.html
<bean id="dataSource" lazy-init="true"
class="com.firm.BasicDataFill">
<property name="driverClassName" value="${database.connection.driver_class}" />
<property name="username" value="${database.connection.username}" />
<property name="password" value="${database.connection.password}" />
<property name="url" value="${database.connection.url}" />
...
<property name="accessToUnderlyingConnectionAllowed" value="true" />
</bean>
<!-- bean id="myDataSource" class="com.p6spy.engine.spy.P6DataSource">
<constructor-arg>
<ref local="dataSource"/>
</constructor-arg>
</bean-->
最后,我发现P6SPY V1.3和2.4.1设置而异。你对基于弹簧的应用程序有任何建议吗?
看一看Log4jdbc它会做的工作https://code.google.com/p/log4jdbc/
感谢您的意见。我会检查这个。我们使用Java 1.7 :) –
感谢分享,但是我无法通过它获得'DB2'的连接。 –
让我稍微不同意,比较两个项目的提交活动听起来像是p6spy的明显胜利,请参阅:https://github.com/p6spy/p6spy/commits/master vs https://github.com/arthurblake/ log4jdbc/commits/master(接触log4jdbc提交的最后一个代码是:27.12.2012) –
我会建议先从P6SPY 2.x的最新版本您还应该使用默认的2.X版替换spy.properties文件,该文件记录为here。根据您的应用程序服务器,您可能需要将spy.properties中的'realdriver'设置为包含'com.ibm.db2.jcc.DB2Driver'。但是,只有在使用防止JDBC驱动程序自动注册的应用程序服务器时才需要这样做。
要在Spring中使用P6Spy,最简单的方法是使用P6SpyDataSource打包当前数据源Bean,如讨论的here。该答案中的示例显示了正在封装的JNDI数据源,但可用于封装任何数据源。注意:如果您要封装的数据源是P6SpyDataSource,则不需要修改JDBC URL。
如果您仍然遇到问题,请为您的问题添加更多信息。下面的信息将在故障排除有所帮助:
- P6SPY的版本中使用
- 间谍的内容。性能
- 您的数据源的定义(包括应用程序服务器配置,如果使用JNDI )
- 类型的应用程序服务器和版本的使用含
- 堆栈跟踪,你可能已收到任何错误。
也许这将有助于某人: http://*.com/a/39272477/4952633 –