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