Skip to content

设计_动态修改maxActive支持

wenshao edited this page Aug 16, 2012 · 4 revisions

在0.2.6之后,开始支持动态修改maxActive,增强对动态配置的支持。

实现

  1. DruidDataSource初始化之后,也就是inited=true,修改maxActive记录info级别的日志。
  2. 调用setMaxActive的参数值和原来一样,不会输出日志。
  3. 当新设置的值大于原来的值,DruidDataSource的存储数组扩容。
  4. 当新设置的值小于原来的值,DruidDataSource的存储数组根据poolingCount + activeCount的决定是否缩小容量。
  5. 当新设置的值小于原来的值,不会立刻关闭超出内容的部分,而是等到DestroyThread调度时做shrink才释放。
  6. 新修改的maxActive不能小于minIdle,并且必须要大于0.