阿里开源的Java数据库连接池Druid(https://github.com/alibaba/druid/)为“监控而生”,最大的优点是可以监控连接池的情况,包括连接数量,执行的SQL的情况。
在Grails里默认的数据库连接池是DBCP,要换成Druid该怎么办呢? 首先尝试修改配置文件,很遗憾没有找到相关的配置项。其次,我尝试写个信的插件来取代系统默认的连接管理插件,发现比较麻烦,没有成功。最后找到一个简单方便的办法,就是把系统管理连接池的类复制到项目里,修改其中下面这行代码
Class dsClass = pooled ? com.alibaba.druid.pool.DruidDataSource : readOnly ? ReadOnlyDriverManagerDataSource : DriverManagerDataSource
其次需要修改一下application.yml文件,原来的一些属性需要换成druid里的属性
接下来就是需要能访问监控数据的servlet了,配置方法是如下图所示