如果我将一个Web应用程序部署到Tomcat,并使用如下代码:
Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("jdbc/myDB");
如何将此DataSource指定为PoolingDataSource?如何配置池(GenericObjectPool)以注入PoolingDataSource?或者,这是Tomcat的JNDI实现的默认行为吗?
DataSource
PoolingDataSource
GenericObjectPool
wvmv3b1j1#
只需配置连接池设置(maxActive,maxWait,maxIdle,...)。Tomcat附带了apache commons-dbcp库。它被重新打包为$ Catalina HOME/lib/tomcat-dbcp.jar。请查看tomcat文档了解详细信息:http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html#Database_Connection_Pool%28DBCP%29_Configurations
<Context> <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/javatest"/> </Context>
zbsbpyhn2#
**JDBC连接池org.apache.tomcat.jdbc.pool**是commons-dbcp连接池的替代或替代。
org.apache.tomcat.jdbc.pool
1.在server.xml文件的GlobalNamingResources部分添加如下内容:
server.xml
GlobalNamingResources
<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" testWhileIdle="true" testOnBorrow="true" testOnReturn="false" validationQuery="SELECT 1" validationInterval="30000" timeBetweenEvictionRunsMillis="30000" maxActive="100" minIdle="10" maxWait="10000" initialSize="10" removeAbandonedTimeout="60" removeAbandoned="true" logAbandoned="true" minEvictableIdleTimeMillis="30000" jmxEnabled="true" jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer" username="root" password="password" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/mysql"/>
1.将JDBC驱动程序JAR添加到Tomcat lib目录中。1.添加您的context.xml:
context.xml
<ResourceLink global="jdbc/TestDB" name="jdbc/TestDB" type="javax.sql.DataSource"/>
查看更多The Tomcat JDBC Connection Pool。
2条答案
按热度按时间wvmv3b1j1#
只需配置连接池设置(maxActive,maxWait,maxIdle,...)。Tomcat附带了apache commons-dbcp库。它被重新打包为$ Catalina HOME/lib/tomcat-dbcp.jar。
请查看tomcat文档了解详细信息:http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html#Database_Connection_Pool%28DBCP%29_Configurations
zbsbpyhn2#
**JDBC连接池
org.apache.tomcat.jdbc.pool
**是commons-dbcp连接池的替代或替代。1.在
server.xml
文件的GlobalNamingResources
部分添加如下内容:1.将JDBC驱动程序JAR添加到Tomcat lib目录中。
1.添加您的
context.xml
:查看更多The Tomcat JDBC Connection Pool。