? ? ?阿里開(kāi)源的Java數(shù)據(jù)庫(kù)連接池Druid(https://github.com/alibaba/druid/)為“監(jiān)控而生”,最大的優(yōu)點(diǎn)是可以監(jiān)控連接池的情況,包括連接數(shù)量,執(zhí)行的SQL的情況。
在Grails里默認(rèn)的數(shù)據(jù)庫(kù)連接池是DBCP,要換成Druid該怎么辦呢? 首先嘗試修改配置文件,很遺憾沒(méi)有找到相關(guān)的配置項(xiàng)。其次,我嘗試寫(xiě)個(gè)信的插件來(lái)取代系統(tǒng)默認(rèn)的連接管理插件,發(fā)現(xiàn)比較麻煩,沒(méi)有成功。最后找到一個(gè)簡(jiǎn)單方便的辦法,就是把系統(tǒng)管理連接池的類復(fù)制到項(xiàng)目里,修改其中下面這行代碼
Class dsClass = pooled ? com.alibaba.druid.pool.DruidDataSource : readOnly ? ReadOnlyDriverManagerDataSource : DriverManagerDataSource

其次需要修改一下application.yml文件,原來(lái)的一些屬性需要換成druid里的屬性

接下來(lái)就是需要能訪問(wèn)監(jiān)控?cái)?shù)據(jù)的servlet了,配置方法是如下圖所示
