Druid配置参数详解-testOnReturn

2020-01-03  本文已影响0人  codeimport

Druid配置参数详解-testOnReturn

Druid是一个由阿里开源的数据库连接池,Druid的配置非常丰富,但是设置不当会对生产环境造成严重影响,网上Druid的资料虽多,但大部分都是互相复制粘贴,有很多不准确甚至完全错误的描述,Druid已经开源很久,而且作者WenShao的工作重心也已经不在Druid上,有些功能估计他自己都不太了解了。本系列将从源代码的角度分析Druid目前的最新版本(1.1.21)各个常用的配置项的具体含义以及是怎么起作用的。

画外音:目前Druid在开源中国举办的2019年度最受欢迎中国开源软件中排名第7名,支持Druid的朋友可以去投票哇。2019年度最受欢迎中国开源软件

testOnReturn是什么意思?

testOnReturn:如果为true(默认false),当应用使用完连接,连接池回收连接的时候会判断该连接是否还可用。

testOnReturn什么时候会用到?

当连接使用完,调用commit或者rollback方法后,连接池会回收该连接,该参数主要在DruidDataSource的recycle方法中用到

            if (testOnReturn) {
                boolean validate = testConnectionInternal(holder, physicalConnection);
                if (!validate) {
                    JdbcUtils.close(physicalConnection);

                    destroyCountUpdater.incrementAndGet(this);

                    lock.lock();
                    try {
                        activeCount--;
                        closeCount++;
                    } finally {
                        lock.unlock();
                    }
                    return;
                }
            }

连接池是如何判断连接是否有效的?

判断连接是否可用同testOnBorrow
Druid配置参数详解-testOnBorrow

上一篇 下一篇

猜你喜欢

热点阅读