spring配置tomcat jdbc pool数据库连接池
2024-08-23 03:38:55
<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>
最新文章
- vNext之旅(2):net451、dotnet5.4、dnx451、dnxcore50都是什么鬼
- 解决问题E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录,
- assign、copy 、retain等关键字的含义
- 手机抓包-fiddler
- 谈谈UIView的几个layout方法
- 关于QGraphicsScene 和 QGraphicsView 和 QDialog 的杂乱笔记【或说指针复习。。】
- HDU 5705 Clock (精度控制,暴力)
- uoj #5. 【NOI2014】动物园 kmp
- apache vhost 访问权限配置
- yii2单个视图加载jss,css
- TCP的阻塞和重传
- [C++]函数参数浅析
- 集成 NHibernate
- redis 进阶
- ural1613 For Fans of Statistics
- python实现算24的算法
- 网站开发进阶(三十)HTML5--本地存储Web Storage
- myeclipse集成maven
- LVS负载均衡集群
- RabbitMQ详解(三)------RabbitMQ的五种队列