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

Posted 学海一贝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

以上是关于spring配置tomcat jdbc pool数据库连接池的主要内容,如果未能解决你的问题,请参考以下文章

jconsole JMX监控tomcat jdbc pool

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

如何在Spring Boot属性中设置Tomcat的SlowQueryReport拦截器的阈值

Spring boot (11) tomcat jdbc连接池

DBCP,C3P0与Tomcat jdbc pool 连接池的比较

java.lang.ClassNotFoundException: org.apache.tomcat.jdbc.pool DataSourceFactory