druid
文章平均质量分 65
龚厂长
这个作者很懒,什么都没留下…
展开
-
druid解析-过滤器详解
我们也可以自定义过滤器。一般过滤器都是继承自FilterAdapter,之后改写其中的部分方法,然后将过滤器名与类名配置到类路径下文件META-INF/druid-filter.properties中,之后在参数“druid.filters”上增加我们自定义的过滤器名就可以了。原创 2023-01-01 17:26:31 · 4209 阅读 · 0 评论 -
druid解析-数据源关闭源码解析
当我们的应用停止的时候,必须调用DruidDataSource.close()方法将数据源关闭。下面我们就来详细看看close()方法。原创 2023-01-01 01:16:38 · 1494 阅读 · 0 评论 -
druid解析-连接销毁线程解析
在druid初始化的过程中,会创建一个线程销毁任务DestroyTask,该任务将会以一定的频率执行,默认是1s执行一次,也可以通过timeBetweenEvictionRunsMillis设置多长时间执行一次。shrink()方法代码比较多,而且也是非常重要的方法,下面我们再梳理一下该方法。原创 2023-01-01 00:54:42 · 1548 阅读 · 0 评论 -
druid解析-如何回收连接
连接使用完,要调用连接对象的close()方法将连接关闭。原创 2022-12-31 23:01:44 · 1265 阅读 · 0 评论 -
druid解析-应用线程获取连接
pollLast(nanos)和takeLast()两个方法的区别在于,pollLast()会不断的尝试获取连接,当获取连接的等待时间超过了入参nanos,该方法直接返回null,而takeLast()会一直尝试获取连接,直到获取到连接为止。方法getConnectionInternal()通过pollLast(nanos)或者takeLast()从连接池里面拿连接,而且都是从连接池的最后获取,这就意味着越频繁使用的连接越会在下次使用。原创 2022-12-31 22:21:02 · 1349 阅读 · 0 评论 -
druid解析-连接池初始化
本文主要介绍连接池初始化的过程。原创 2022-12-31 20:55:22 · 1760 阅读 · 1 评论 -
druid解析-DruidDataSource初始化
druid是一个数据库连接池,它持有一系列的数据库连接,当应用程序需要数据库连接时,通过druid的数据源可以直接获取连接。同时它也有很多附加功能,比如监控等。在应用程序中,我们一般都是直接创建DruidDataSource对象,然后通过它的getConnection()方法获取数据库连接。可以看到init()方法主要是做参数的初始化,然后就创建连接对象,执行完init()方法后,如果设置了过滤器,则先执行过滤器,否则调用getConnectionDirect()方法,该方法用于返回连接对象。原创 2022-12-31 16:46:16 · 1795 阅读 · 0 评论