千家信息网

Grails3怎么更换连接池

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"Grails3怎么更换连接池",在日常操作中,相信很多人在Grails3怎么更换连接池问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Grails3怎么
千家信息网最后更新 2026年11月02日Grails3怎么更换连接池

这篇文章主要介绍"Grails3怎么更换连接池",在日常操作中,相信很多人在Grails3怎么更换连接池问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Grails3怎么更换连接池"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

Grails3默认数据库连接池为tomcat-jdbc pool,性能较druid、HikariCP差太多,所以想换成其他连接池

  • 由于默认使用的是tomcat-jdbc连接池,需要去掉依赖

//    runtime "com.h3database:h3"//    runtime "org.apache.tomcat:tomcat-jdbc"// 添加阿里巴巴druid连接池compile group: 'com.alibaba', name: 'druid', version: '1.1.18'compile 'mysql:mysql-connector-java:5.1.40'
  • grails-app/conf/applicaiton.yml配置也要注释掉默认的连接池

dataSource:#    pooled: true    jmxExport: true    driverClassName: com.mysql.jdbc.Driver    username: root    password: root    dialect: org.hibernate.dialect.MySQL5InnoDBDialect    url: jdbc:mysql://localhost:3306/g3?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false    # 为了兼容grails,让Hibernate自动建表,所以在dataSource下增加连接池相关的配置    druid:        minIdle: 1        maxActive: 40        maxWait: 60000        initialSize: 20        testWhileIdle: true        testOnBorrow: false        testOnReturn: false        removeAbandoned: true        filters: stat,wall,slf4j        validationQuery: select 'x'        useGlobalDataSourceStat: true        poolPreparedStatements: true        minEvictableIdleTimeMillis: 300000        timeBetweenEvictionRunsMillis: 60000        connectionProperties: clientEncoding=UTF-8        maxPoolPreparedStatementPerConnectionSize: 20environments:    development:        dataSource:            dbCreate: create-drop            url: jdbc:mysql://localhost:3306/g3?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false    test:        dataSource:            dbCreate: update            url: jdbc:mysql://localhost:3306/g3?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false    production:        dataSource:            dbCreate: update            url: jdbc:mysql://localhost:3306/g3?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=falseserver:  port: 8081  # TRANSACTION_READ_COMMITTED
  • grails-app/conf/spring/resources.groovy配置

// Place your Spring DSL code herebeans = {    // 监控管理页面配置(管理用户名、密码)    druidConsoleServlet(org.springframework.boot.web.servlet.ServletRegistrationBean) {        servlet = bean(com.alibaba.druid.support.http.StatViewServlet)        urlMappings = ["/druid/*"]//        urlMappings = ["*.js","*.gif","*.jpg","*.png","*.css","*.ico","/druid/*"]        initParameters = [                "loginUsername": "root",                "loginPassword": "123456",                "allow": "127.0.0.1",                "deny": ""        ]//        loadOnStartup = 2    }    // alibaba druid配置    dataSource(com.alibaba.druid.pool.DruidDataSource) { bean ->        bean.initMethod = 'init'        bean.destroyMethod = 'close'        driverClassName = grailsApplication.config.dataSource.driverClassName        url = grailsApplication.config.dataSource.url        username = grailsApplication.config.dataSource.username        password = grailsApplication.config.dataSource.password        initialSize = grailsApplication.config.dataSource.druid.initialSize        minIdle = grailsApplication.config.dataSource.druid.minIdle        maxActive = grailsApplication.config.dataSource.druid.maxActive        maxWait = grailsApplication.config.dataSource.druid.maxWait        timeBetweenEvictionRunsMillis = grailsApplication.config.dataSource.druid.timeBetweenEvictionRunsMillis        minEvictableIdleTimeMillis = grailsApplication.config.dataSource.druid.minEvictableIdleTimeMillis        validationQuery = grailsApplication.config.dataSource.druid.validationQuery        removeAbandoned = grailsApplication.config.dataSource.druid.removeAbandoned        testWhileIdle = grailsApplication.config.dataSource.druid.testWhileIdle        connectionProperties = grailsApplication.config.dataSource.druid.connectionProperties        testOnBorrow = grailsApplication.config.dataSource.druid.testOnBorrow        poolPreparedStatements = grailsApplication.config.dataSource.druid.poolPreparedStatements        testOnReturn = grailsApplication.config.dataSource.druid.testOnReturn        useGlobalDataSourceStat = grailsApplication.config.dataSource.druid.useGlobalDataSourceStat        maxPoolPreparedStatementPerConnectionSize = grailsApplication.config.dataSource.druid.maxPoolPreparedStatementPerConnectionSize        filters = grailsApplication.config.dataSource.druid.filters    }}
  • grails-app/conf/logback.groovy添加日志配置

// 日志采集logger('com.alibaba', DEBUG, ['STDOUT'], false)
  • 启动项目,出现日志

2019-07-03 03:15:06.691  WARN --- [           main] com.alibaba.druid.pool.DruidDataSource   : removeAbandoned is true, not use in productiion.2019-07-03 03:15:07.078  INFO --- [           main] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} initedGrails application running at http://localhost:8081 in environment: development
  • web监控地址

http://127.0.0.1:8081/druid/index.html

到此,关于"Grails3怎么更换连接池"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

配置 学习 日志 更多 帮助 监控 管理 实用 巴巴 接下来 地址 密码 性能 数据 数据库 文章 方法 注释 理论 用户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 北京路客互联网科技有限公司 中国互联网科技股 工业互联网科技新基建 互联网 的科技创新 浩特互联网科技 百单互联网科技有限公司 亿人帮互联网科技 深圳卡尔迅互联网科技有限公司怎么样 华脉科技工业互联网产品 现代科技和互联网有关系吗 江苏南京365互联网科技 受益于互联网科技的高速发展 互联网金融科技展 锡山区互联网智能科技产品供应 云南省自由互联网科技有限公司 广州三三互联网科技有限公司 科技和互联网行业的特点 三亚科技创新互联网基地 亚光科技低轨卫星互联网 六子台科技互联网展会 深圳恒合互联网络科技有限公司 中国互联网金融科技基金 昭通云南众福互联网科技有限公司 华服互联网科技官网 互联网科技与管理 搜狐科技互联网 哈尔滨屹滨互联网科技有限公司 东莞新华互联网科技学校 上海京穆互联网科技有限公司 优雇互联网科技有限公司
0