spring 配置文件
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/connTest"></property>
</bean>
META-INF 目录下context.xml
<?xml version='1.0' encoding='utf-8'?>
<!--
url:地址
driverClassName:驱动地址
username:用户名
password:密码
jmxEnabled:连接池是否注册JMX代理,默认true
testWhileIdle:空闲时是否进行验证,检查对象是否有效,默认为false
testOnBorrow:取得对象时是否进行验证,检查对象是否有效,默认为false
validationInterval:验证间隔,避免额外验证,在此时间内若通过验证,则再次请求不会验证,默认30000 (30秒)
testOnReturn:返回对象时是否进行验证,检查对象是否有效,默认为false
validationQuery:验证连接是否成功, SQL SELECT 指令至少要返回一行
timeBetweenEvictionRunsMillis:多久检查一次空闲链接,并且验证空闲链接,不能设置小于1,默认5000 (5 秒)
maxActive:可以从对象池中取出的对象最大个数,为0则表示没有限制,默认为100
initialSize:创建连接池时初始化连接数,默认10
maxWait:无链接可用时最大等待秒数,超过时间会丟出错误信息 默认30000 (30 秒)
removeAbandonedTimeout:几秒后会自我中断 默认 60 (60 秒)
minEvictableIdleTimeMillis:空闲链接验证时间 默认 60 (60 秒)
minIdle:最小空间连接数 一般与初始化连接数相等 默认10个
logAbandoned:是否记录中断事件, 默认为 false
removeAbandoned:是否自我中断, 默认是 false
jdbcInterceptors:jdbc 拦截器
-->
<Context>
<Resource name="connTest"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
url="jdbc:postgresql://localhost:5432/sample"
driverClassName="org.postgresql.Driver"
username="postgres"
password="123456"
jmxEnabled="true"
testWhileIdle="true"
testOnBorrow="true"
validationInterval="30000"
testOnReturn="false"
validationQuery="SELECT 1"
timeBetweenEvictionRunsMillis="30000"
maxActive="100"
initialSize="10"
maxWait="10000"
removeAbandonedTimeout="60"
minEvictableIdleTimeMillis="30000"
minIdle="10"
logAbandoned="true"
removeAbandoned="true"
jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;
org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
/>
</Context>