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

实现

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