spring配置tomcat jdbc pool数据库连接池

<bean id="sqliteDataSource" class="org.apache.tomcat.jdbc.pool.DataSource"
	destroy-method="close">
	<!-- <bean class="org.apache.tomcat.jdbc.pool.PoolProperties"> -->
		<!-- 数据库连接池配置 -->
		<!-- 用户名、密码 -->
		<property name="username" value="root" />
		<property name="password" value="password" />
		<!-- 驱动的完整有效的java类名,建立连接的URL -->
		<!-- <property name="driverClassName" value="com.mysql.jdbc.Driver" />
		<property name="url" value="jdbc:mysql://localhost:3306/mysql" /> -->
		<property name="driverClassName" value="org.sqlite.JDBC" />
		<property name="url" value="jdbc:sqlite:D:test.db" />
		<!-- (int) 最大空闲连接: 连接池中容许保持空闲状态的最大连接数量,
		 超过的空闲连接将被释放, 如果设置为负数表示不限制如果启用,将定期检查限制连接,
		 如果空闲时间超过minEvictableIdleTimeMillis 则释放连接 ( 参考testWhileIdle )  -->
		<property name="maxIdle" value="100" />
		<!-- (int) 最小空闲连接: 连接池中容许保持空闲状态的最小连接数量, 低于这个数量将创建新的连接,
		如果设置为0 则不创建,如果连接验证失败将缩小这个值,默认与initialSize 相同 -->
		<property name="minIdle" value="10" />
		<!-- (int) 最大活动连接: 连接池在同一时间能够分配的最大活动连接的数量,
		如果设置为非正数则表示不限制 -->
		<property name="maxActive" value="100" />
		<!-- (int) 最大等待时间: 当没有可用连接时, 连接池等待连接被归还的最大时间( 以毫秒计数),
		超过时间则抛出异常, 如果设置为-1 表示无限等待,默认30000(30秒) -->
		<property name="maxWait" value="10000" />
		<!-- (int) 初始化连接: 连接池启动时创建的初始化连接数量 -->
		<property name="initialSize" value="10" />
		<!-- (boolean) 标记是否删除泄露的连接, 如果他们超过了removeAbandonedTimout 的限制。
		如果设置为true, 连接被认为是被泄露并且可以被删除, 如果空闲时间超过removeAbandonedTimeout。
		设置为true 可以为写法糟糕的没有关闭连接的程序修复数据库连接。 参考logAbandoned -->
		<property name="removeAbandoned" value="true" />
		<!-- (int) 泄露的连接可以被删除的超时值, 单位秒应设置为应用中查询执行最长的时间 -->
		<property name="removeAbandonedTimeout" value="600" />
		<!-- 验证连接是否有效,(String) SQL 查询, 用来验证从连接池取出的连接, 在将连接返回给调用者
		之前。如果指定, 则查询必须是一个SQL SELECT 并且必须返回至少一行记录 查询不必返回记录,
		但这样将不能抛出SQL异常 -->
		<property name="validationQuery" value="select 1" />
		<!-- (long) 避免过度验证,保证验证不超过这个频率——以毫秒为单位。如果一个连接应该被验证,
		但上次验证未达到指定间隔,将不再次验证。	30000(30秒) -->
		<property name="validationInterval" value="30000" />
		<!-- (boolean) 连接池创建的连接的默认的auto-commit 状态,driver default -->
		<property name="defaultAutoCommit" value="true" />
		<!-- 验证失败时,是否将连接从池中丢弃 -->
		<property name="testWhileIdle" value="true" />
		<!-- 把空闲时间超过minEvictableIdleTimeMillis毫秒的连接断开,
		直到连接池中的连接数到minIdle为止(毫秒,30分钟) -->
		<property name="timeBetweenEvictionRunsMillis" value="1200000" />
		<!-- 连接池中连接可空闲的时间(毫秒,5分钟) -->
		<property name="minEvictableIdleTimeMillis" value="1800000" />
		<!-- 在每次空闲连接回收器线程(如果有)运行时检查的连接数量 -->
		<property name="numTestsPerEvictionRun" value="5" />
</bean>
时间: 2024-10-25 19:06:00

spring配置tomcat jdbc pool数据库连接池的相关文章

Tomcat7 新的数据库连接池Tomcat jdbc pool介绍和配置

Tomcat 在 7.0 以前的版本都是使用commons-dbcp做为连接池的实现,但是 dbcp存在一些问题: (1)dbcp 是单线程的,为了保证线程安全会锁整个连接池 (2)dbcp 性能不佳 (3)dbcp 太复杂,超过 60 个类,发展滞后. 因此,通常J2EE中还会使用其它的高性能连接池,如 C3P0,还有阿里系的 druid 等.为此,Tomcat 从 7.0 开始引入一个新的模块: Tomcat jdbc pool tomcat jdbc pool 近乎兼容 dbcp ,性能更

使用 Tomcat 7 新的连接池 —— Tomcat jdbc pool

Tomcat 在 7.0 以前的版本都是使用 commons-dbcp 做为连接池的实现,但是 dbcp 饱受诟病,原因有: dbcp 是单线程的,为了保证线程安全会锁整个连接池 dbcp 性能不佳 dbcp 太复杂,超过 60 个类 dbcp 使用静态接口,在 JDK 1.6 编译有问题 dbcp 发展滞后 因此很多人会选择一些第三方的连接池组件,例如 c3p0 , bonecp, druid (@wenshao ) 等. 为此,Tomcat 从 7.0 开始引入一个新的模块:Tomcat j

Tomcat JDBC Pool使用说明

Maven依赖 <dependency>   <groupId>org.apache.tomcat</groupId>   <artifactId>tomcat-jdbc</artifactId>   <version>8.5.9</version> </dependency> 最新版本为9.0,推荐使用8.5.9稳定版 常用配置 连接池配置项很多,下面只列出了推荐配置,项目组可根据自身情况进行增减 <b

Java -- JDBC 学习--数据库连接池

JDBC数据库连接池的必要性 在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤: 在主程序(如servlet.beans)中建立数据库连接. 进行sql操作 断开数据库连接. 这种模式开发,存在的问题: 普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0.05s-1s的时间).需要数据库连接的时候,就向数据库要求一个,执行完成后再断开连接.这样的方式将会消耗大量的资源和

tomcat jdbc pool

这是数据库端的配置,wait_timeout:表示客户端和数据库建立连接,执行sql语句后,保持连接300s才释放连接,若300s内又有新的sql执行,则重新计时. 最近有个问题,基于前任项目管理者遇到在使用tomcat连接池连接oracle/mysql时,经常出现建立的链接用不上了.是因为数据库服务器设置了wait_timeout参数,导致客户端持有的链接用不上.就将数据库连接wait_timeout设置到很大,这将导致一旦建立链接就不会释放,而数据库链接不可能无限大,有新的应用也在使用数据库

数据库连接JDBC和数据库连接池C3P0自定义的java封装类

数据库连接JDBC和数据库连接池C3P0自定义的java封装类 使用以下的包装类都需要自己有JDBC的驱动jar包: 如 mysql-connector-java-5.1.26-bin.jar(5.1.26代表的是版本序列号) 一.JDBC的封装:(java连接MySQL) 1 import java.sql.*; 2 3 import utils.GlobalConstant; 4 5 public class JDBCUtil { 6 7 private JDBCUtil() { 8 9 }

Class &#39;org.apache.tomcat.jdbc.pool.DataSource&#39; not found

把项目移动到新的运行环境时,明明包都导入了,项目也放进tomcat里面了,但是还会找不到该类 解决方法:项目右键选择底下的Properties ->project facets ->java 把Runtimes里面的Apache Tomcat的勾打上 这样才算把tomcat放进类路径里面 Class 'org.apache.tomcat.jdbc.pool.DataSource' not found 原文地址:https://www.cnblogs.com/unlasting/p/121796

配置Tomcat服务器数据连接池

优势:由于HTTP协议的web程序是无状态的,在应用程序使用JDBC时,多次请求处理客户端都会重新建立连接,如果请求繁忙,将会消耗非常多的资源. 数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立. 配置全局数据库连接池: 配置局部数据库连接池: 在Tomcat安装目录下, conf\server.xml中 <GlobalNamingResources>标签下 添加 <Resource name="jdbc/webdb&quo

配置tomcat全局c3p0连接池

由于项目中多个应用访问同一个数据库,并部署在同一个tomcat下面,所以没必要每个应用都配置连接池信息,这样可能导致数据库的资源分布不均,所以这种情况完全可以配置一个tomcat的全局连接池,所涉及应用均访问该连接池,让数据库资源得以充分利用. 本人使用了c3p0连接池,对c3p0虽然没做过相关性能测试,但是网评还不错,使用的是0.9.1版本,tomcat 使用 7.0.32 配置分为几个步骤: 一.在tomcat的server.xml中配置数据源 找到GlobalNamingResources