gpt4 book ai didi

java - 在 Spring applicationContext.xml 中使用 P6Spy 和数据源

转载 作者:搜寻专家 更新时间:2023-11-01 01:54:16 24 4
gpt4 key购买 nike

我使用 Hibernate 4、Spring 3、JSF 2.0 和 Weblogic 10.3.6 作为服务器。

我在 Weblogic 服务器上创建了数据源,在 applicationContext.xml 中我将数据源定义为

<!-- Data Source Declaration -->    
<bean id="DataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/​myDS"/>
</bean>

如果我想使用 P6Spy 来记录 SQL 参数,我应该如何在 applicationcontext.xml 中添加以下内容以及我应该在何处添加以下内容?

  <property name="hibernate.connection.driver_class">com.p6spy.engine.spy.
P6SpyDriver</property>

非常感谢任何帮助。

谢谢

最佳答案

使用 spring 集成 p6spy 的最简单方法是使用 P6DataSource 类。 P6DataSource 类只是真实数据源的代理。这使您可以使用任何 Spring 数据源工厂实现来获取真实数据源。

<bean id="dataSource" class="com.p6spy.engine.spy.P6DataSource">
<constructor-arg>
<bean id="DataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/​myDS"/>
</bean>
</constructor-arg>
</bean>

如果您使用的是 XADatasource,只需将类名更改为 P6ConnectionPoolDataSource,如下所示。注意:P6ConnectionPoolDataSource 实现了 ConnectionPoolDataSource 和 XADataSource 接口(interface)。

<bean id="dataSource" class="com.p6spy.engine.spy.P6ConnectionPoolDataSource">
<constructor-arg>
<bean id="DataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/​myDS"/>
</bean>
</constructor-arg>
</bean>

关于java - 在 Spring applicationContext.xml 中使用 P6Spy 和数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14706029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com