<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 基本属性 url、user、password --> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.user}" /> <property name="password" value="${jdbc.password}" /> <!-- 配置初始化大小、最小、最大 --> <property name="initialSize" value="1" /> <property name="minIdle" value="1" /> <property name="maxActive" value="20" /> <!-- 配置获取连接等待超时的时间 --> <property name="maxWait" value="60000" /> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="60000" /> <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="300000" /> <!-- oracle必须这样配置检查,不了会报检查错误 --> <property name="validationQuery" value="SELECT 1 FROM DUAL" /> <property name="testWhileIdle" value="true" /> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" value="false" /> <!-- 配置监控统计拦截的filters --> <property name="filters" value="stat" /> </bean>
下面是mysql的检查配置,默认配置里面是mysql检查语句
<property name="validationQuery" value="SELECT ‘x‘" />
常用数据库validationQuery检查语句
数据库 | validationQuery |
Oracle | select 1 from dual |
DB2 | select 1 from sysibm.sysdummy1 |
mysql | select 1 |
microsoft sql | select 1 |
hsqldb | select 1 from INFORMATION_SCHEMA.SYSTEM_USERS |
postgresql | select version() |
ingres | select 1 |
derby | select 1 |
H2 | select 1 |
时间: 2024-11-13 06:56:30