[英]Difference between OracleDataSource , Oracle UCP, Commons DBCP and Tomcat Connection Pool?
[英]Configure DBCP based connection pool for interacting with oracle db
我試圖運行這個例子http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/doc/PoolingDataSourceExample.java?view=markup但不知何故我無法做到這一點。 我想在一個Maven項目中運行此示例,而且我還是第一次在Maven項目中工作。 我不知道該怎么做。 如在該示例中,它明確指出:
To compile this example, you'll want:
* commons-pool-1.5.4.jar
* commons-dbcp-1.2.2.jar
* j2ee.jar (for the javax.sql classes)
in your classpath.
To run this example, you'll want:
* commons-pool-1.5.6.jar
* commons-dbcp-1.3.jar (JDK 1.4-1.5) or commons-dbcp-1.4 (JDK 1.6+)
* j2ee.jar (for the javax.sql classes)
* the classes for your (underlying) JDBC driver
in your classpath.
所以我在瀏覽各種文章之后嘗試將所有這些依賴項添加到我的pom.xml文件中。 但我仍然有錯誤 -
ConnectionFactory cannot be resolved to a type
GenericObjectPool cannot be resolved to a type
ObjectPool cannot be resolved to a type
PoolableConnectionFactory cannot be resolved to a type
PoolableConnectionFactory cannot be resolved to a type
PoolingDataSource cannot be resolved to a type
PoolingDataSource cannot be resolved to a type
這是我的pom.xml文件。 我的pom.xml文件中是否有任何遺漏的內容。 任何建議將不勝感激,因為這是我第一次使用maven項目。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.datasource.pooling</groupId>
<artifactId>datasource.pooling</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>com.datasource.pooling</name>
<dependencies>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.2.2</version>
</dependency>
<!--
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.3</version>
</dependency>
-->
</dependencies>
</project>
添加j2ee.jar文件的依賴關系是什么?
ConnectionFactory,GenericObjectPool,ObjectPool,PoolableConnectionFactory,PoolingDataSource類可以在jars commons-pool- {version} .jar和commons-dbcp- {version} .jar中找到。
在這種情況下,您不必添加j2ee.jar。 javax.sql包相關的類在rt.jar里面,它在jdk中是默認的。 您必須運行的代碼( http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/doc/PoolingDataSourceExample.java?view=markup )是從包org.apache.commons.dbcp2
導入類和org.apache.commons.pool2
import org.apache.commons.pool2.ObjectPool;
import org.apache.commons.pool2.impl.GenericObjectPool;
import org.apache.commons.dbcp2.ConnectionFactory;
import org.apache.commons.dbcp2.PoolingDataSource;
import org.apache.commons.dbcp2.PoolableConnectionFactory;
import org.apache.commons.dbcp2.DriverManagerConnectionFactory;
改為使用
import org.apache.commons.pool.ObjectPool;
import org.apache.commons.pool.impl.GenericObjectPool;
import org.apache.commons.dbcp.ConnectionFactory;
import org.apache.commons.dbcp.PoolingDataSource;
import org.apache.commons.dbcp.PoolableConnectionFactory;
import org.apache.commons.dbcp.DriverManagerConnectionFactory;
從所有包導入中使用org.apache.commons.pool
而不是org.apache.commons.pool2
。 這些類位於commons-pool- {version} .jar和commons-dbcp- {version} .jar jar中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.