6

使用mysql时如何增加Grails中的maxPoolSize?它似乎使用默认连接池只有 8 个连接。

4

2 回答 2

7

不幸的是,如果您想获得对它的更多控制,您将需要自己配置 dataSource spring bean。这可以通过在“grails-app/conf/spring/resources.groovy”中定义 bean 来完成

beans = {

   dataSource(org.apache.commons.dbcp.BasicDataSource) {
      driverClassName = "com.mysql.jdbc.Driver"
      username = "someuser"
      password = "s3cret"
      initialSize = 15
      maxActive = 50
      maxIdle = 15
   }

}

它将覆盖在“grails-app/conf/DataSource.groovy”中配置的默认 Grails DataSource。


可能它也应该像这样利用 PropertyOverrideConfigurer(在 Config.groovy 中)覆盖默认 grails DataSource.groovy 配置的池大小属性:

beans = {
   dataSource.initialSize = 15
   dataSource.maxActive = 50
   dataSource.maxIdle = 15
}
于 2008-12-18T10:43:02.557 回答
4

对于 grails 1.2,您应该使用稍微不同的格式:

dataSource {
    pooled = true
    dbCreate = "update"
    url = "jdbc:mysql://localhost/yourDB"
    driverClassName = "com.mysql.jdbc.Driver"
    username = "yourUser"
    password = "yourPassword"
    properties {
        maxActive = 50
        maxIdle = 25
        minIdle = 5
        initialSize = 5
        minEvictableIdleTimeMillis = 60000
        timeBetweenEvictionRunsMillis = 60000
        maxWait = 10000     
    }   
}
于 2010-04-01T06:09:30.833 回答