如何更新默认数据库连接池?

能否将Grails默认的数据库连接池更换成Proxool?

thanks

 

请参考c3p0的用法,步骤如下:

  • 将c3p0的jar文件添加至GrailsApp\lib目录下,或者在BuildConfig.groovy中配置其路径;
  • 在GrailsApp\grails-app\conf\spring\reasources.groovy文件中另创建一个dataSource的bean,示例代码如下:
  • import com.mchange.v2.c3p0.ComboPooledDataSource
    import org.codehaus.groovy.grails.commons.ConfigurationHolder as CH
    beans = {
      dataSource(ComboPooledDataSource) { bean ->
        bean.destroyMethod = 'close'
        user = CH.config.dataSource.username
        password = CH.config.dataSource.password
        driverClass = CH.config.dataSource.driverClassName
        jdbcUrl = CH.config.dataSource.url
        //connection test settings
        idleConnectionTestPeriod = 2 * 60 * 60 //2 hours
        testConnectionOnCheckin = true
      }  
    }
    
  • DataSource.groovy还是正常写法,即可。

验证方法:在Controller中注入dataSource,将dataSource打印,就能看到使用的连接池是com.mchange.v2.c3p0.ComboPooledDataSource。

By 匿名用户 - Posted on 26 五月 2011