`

集成Apache Tomcat JDBC 或 Commons-DBCP

 
阅读更多

一:集成TomcatJDBC 数据源:

 

1:加入:tomcat-jdbc.jar (位于tomcat\lib目录下) 与 tomcat-juli.jar (位于tomcat\bin目录下) 

 

2:加入Spring配置:

<!-- 数据源配置,使用应用内的Tomcat JDBC连接池 -->
		<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
			<!-- Connection Info -->
			<property name="driverClassName" value="${jdbc.driver}" />
			<property name="url" value="${jdbc.url}" />
			<property name="username" value="${jdbc.username}" />
			<property name="password" value="${jdbc.password}" />
			<!-- 同一时间可从连接池中分配的最大连接数 -->
			<property name="maxActive" value="${jdbc.maxActive}" />
			<!-- 连接池中应保持的最大连接数 -->
			<property name="maxIdle" value="${jdbc.maxIdle}" />
			<!-- 运行"检查已经超时/废弃的连接"的线程频率(毫秒/次),默认为5000/5秒 -->
			<property name="timeBetweenEvictionRunsMillis" value="${jdbc.timeBetweenEvictionRunsMillis}" />
			<!-- 连接超时的最小时间(单位:毫秒,默认为60000/60秒) -->
			<property name="minEvictableIdleTimeMillis" value="${jdbc.minEvictableIdleTimeMillis}" />
			<property name="defaultAutoCommit" value="false" />
		</bean>
		

 

3:参考官方文档:https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html

 

二:集成Commons DBCP:

 

1:下载http://commons.apache.org/proper/commons-dbcp/download_dbcp.cgi,解压文件后将commons-dbcp-1.4.jar放到webapp/lib目录下.

 

2:在applicationContext.xml中加入XML代码:

 

<!-- 数据源配置, 使用应用中的DBCP数据库连接池 -->
		<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
			<property name="driverClassName" value="${jdbc.driver}" />
			<property name="url" value="${jdbc.url}" />
			<property name="username" value="${jdbc.username}" />
			<property name="password" value="${jdbc.password}" />
			<property name="maxActive" value="${jdbc.maxActive}" />
			<property name="maxIdle" value="${jdbc.maxIdle}" />
			<property name="defaultAutoCommit" value="false" />
			<property name="timeBetweenEvictionRunsMillis" value="${jdbc.timeBetweenEvictionRunsMillis}" />
			<property name="minEvictableIdleTimeMillis" value="${jdbc.minEvictableIdleTimeMillis}" />
			<property name="remarksReporting" value="true"/>
		</bean> 
 

3:官方配置文档:http://commons.apache.org/proper/commons-dbcp/configuration.html 

 

三: JNDI配置:

 

1:在tomcat 的 context.xml(注意不是server.xml) 中配置JNDI:

(1):简化配置:

<Resource name="jdbc/SHAM"
          auth="Container"
          type="javax.sql.DataSource"
          factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
          maxActive="100"
          minIdle="10"
          maxWait="10000"
          initialSize="10"
          username="root"
          password="root"
          driverClassName="com.mysql.jdbc.Driver"
          url="jdbc:mysql://192.168.6.250:3306/SHAM" />

(2):复杂配置: 

<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"/>

 

2:在web.xml中增加如下配置:

<resource-ref>
		<description>DB Connection</description>
		<res-ref-name>jdbc/SHAM</res-ref-name>
		<res-type>javax.sql.DataSource</res-type>
		<res-auth>Container</res-auth>
	</resource-ref>

 

3:在spring的applicationContext.xml中增加:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd">

    <!-- 数据源配置,使用应用服务器的数据库连接池 -->
		<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/SHAM" resource-ref="true" lookup-on-startup="true"/> 
		<!-- 或者使用如下配置亦可
		<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> 
			<property name="jndiName" value="java:comp/env/jdbc/SHAM"/>
		</bean> --> 
</beans>

 

4:参考官方文档:https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html

 

 

四:

三种数据源的JNDI配置方式:

 

1:在server.xml中的<GlobalNamingResources>节点中配置全局数据源:

<GlobalNamingResources>
  <Resource name="jdbc/db" ...
</GlobalNamingResources>

且在context.xml中Context节点中配置对全局JNDI的引用:

<Context>
<ResourceLink name="jdbc/db" type="javax.sql.DataSource"  global="jdbc/db"/>...
</Context>

 

2:在context.xml的Context节点中配置数据源:

<Context>
<Resource name="jdbc/db" ...
</Context>

 

3:在server.xml中的工程节点中配置数据源(缺点:不能共享数据源配置):

<Context docBase="D:\WorkSpace\web\webapp" path="/web" reloadable="false">
  <Resource name="jdbc/db" ...
</Context>

 

4:混用以上各种方式也是可以的!

分享到:
评论

相关推荐

    commons-dbcp-1.4.jar和commons-pool-1.5.6.jar

    `commons-dbcp-1.4.jar` 包含了实现这个功能所需的所有类和方法,允许开发者在应用程序中轻松集成和配置数据库连接池。 DBCP的使用通常涉及到以下几个核心概念: 1. **DataSource**: 这是Java的 javax.sql....

    commons-collections-3.1.jar;commons-dbcp-1.2.1.jar;commons-pool-1.2.jar

    标题中的三个文件——"commons-collections-3.1.jar","commons-dbcp-1.2.1.jar",和"commons-pool-1.2.jar",是Apache Commons项目的一部分,它们在Java应用程序中扮演着重要角色。Apache Commons是一个为Java开发...

    commons-dbcp-1.2.2.jar &commons-pool-1.3.jar

    `commons-dbcp-1.2.2.jar`包含了实现DBCP连接池所需的类和接口,如BasicDataSource、PoolableConnection和PoolManager等。这些类用于初始化和配置数据库连接池,管理数据库连接的生命周期,以及处理连接的分配和释放...

    commons中的DBCP连接池jar

    Apache Commons DBCP虽然历史悠久,但在现代项目中可能已经被更先进的连接池如HikariCP、Tomcat JDBC Pool所取代,因为它们在性能和稳定性方面有更出色的表现。然而,理解DBCP的工作原理和使用方法仍然是Java开发者...

    commons-dbcp-1.4-bin

    标题"commons-dbcp-1.4-bin"指的是Apache Commons DBCP的1.4版本的二进制发行版。这个版本包含了编译后的Java类文件和其他运行时需要的资源,可以直接在Java环境中使用而无需进行额外的编译步骤。 描述中提到了...

    commons-dbcp-1.4-bin.zip

    1. **JAR文件**:通常包含`commons-dbcp-1.4.jar`,这是DBCP的核心库,其中封装了数据库连接池的实现,如`BasicDataSource`类,用于创建和管理数据库连接。 2. **文档**:可能包括API文档(如`apiDocs`目录下的HTML...

    commons-dbcp-1.2.2-src.zip

    标题中的"commons-dbcp-1.2.2-src.zip"表示的是Apache Commons DBCP 1.2.2版本的源代码压缩包。源代码对于开发者来说是宝贵的资源,因为它允许深入理解组件的工作原理,进行定制化修改,以及排查可能出现的问题。 ...

    数据源所需要Jar包:commons-dbcp2-2.1.1.zip

    在分布式环境中,配合应用服务器如Tomcat或Jetty,DBCP2可以提供高效的数据库连接管理服务,有助于优化系统的性能和稳定性。对于Java开发者来说,理解和掌握DBCP2的使用对于构建高效、稳定的数据库驱动应用至关重要...

    commons-dbcp-1.4.jar

    1. **下载依赖**:首先,你需要将`commons-dbcp-1.4.jar`和`commons-pool-1.6.jar`(DBCP依赖的连接池管理库)添加到Tomcat的`lib`目录下,确保Tomcat能访问到这些库。 2. **配置Context**:然后,你需要在Tomcat的...

    commons-dbcp-1.4.jar和commons-pool-1.4.jar

    这两个JAR文件——commons-dbcp-1.4.jar和commons-pool-1.4.jar,是Apache软件基金会提供的开源组件,用于优化数据库资源的管理和复用。 **Apache Commons DBCP** Apache Commons DBCP 是一个基于Apache Commons ...

    commons-dbcp

    总的来说,Apache Commons DBCP是一个强大的数据库连接池实现,它为Java应用提供了一种高效、可配置的数据库连接管理方式,是很多企业级应用开发中不可或缺的工具。通过理解并合理使用`BasicDataSource`,开发者能够...

    java中DBCP数据库连接池使用方法以及jjdbc所需的ar包(commons-pool.jar+commons-dbcp-1.2.2.jar)

    java中DBCP数据库连接池使用方法以及代码文件:(dbcpconfig.properties+JdbcPool_dbcp.java)以及jjdbc所需的ar包(commons-pool.jar+commons-dbcp-1.2.2.jar)

    apache-tomcat-jdbc-1.1.0.1

    The JDBC Connection Pool org.apache.tomcat.jdbc.pool is a replacement or an alternative to the commons-dbcp connection pool.

    COMMONS DBCP的使用与配置

    Apache Commons DBCP(Database Connection Pool)是Apache Commons项目中的一个数据库连接池组件,它提供了在Java应用程序中管理和复用数据库连接的能力。DBCP的主要作用是提高应用性能,通过池化技术减少创建和...

    java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource

    1. **缺失的依赖**:确保你的项目构建工具(如Maven或Gradle)配置了对Apache Commons DBCP的依赖。在Maven中,这可能意味着缺少如下配置: ```xml &lt;groupId&gt;commons-dbcp &lt;artifactId&gt;commons-dbcp &lt;version&gt;...

    apache-commons源码及jar文件

    Apache Commons是一个非常有用的工具包,解决各种实际的通用问题。(附件中提供了该工具包的jar包,及源文件以供研究) BeanUtils Commons-BeanUtils 提供对 Java 反射和自省API的包装 Betwixt Betwixt提供将 ...

    apache-tomcat-8.0.46-windows-x86 32位

    8. **连接池**:Tomcat内建了JDBC连接池,如Apache Commons DBCP,用于高效地管理数据库连接。 9. **性能调优**:可以通过调整`server.xml`中的参数,如最大线程数、最小空闲线程数等,来优化Tomcat的性能。 10. *...

    apache-tomcat-8.0.0-RC3-windows-x64

    7. **连接池**:Tomcat内建了JDBC连接池,名为`Apache Commons DBCP`,用于管理数据库连接,提高系统性能。开发者可以根据需求配置连接池参数,如最大连接数、最小连接数、超时时间等。 8. **安全管理**:Tomcat...

    tomcat_连接池数据库密码加密解密方法

    在Tomcat环境下,连接池通常使用Apache Commons DBCP(Database Connection Pool)来管理数据库连接。默认情况下,DBCP会直接读取配置文件中的用户名和密码,这意味着这些信息是以明文形式存在的。一旦服务器被非法...

Global site tag (gtag.js) - Google Analytics