千家信息网

Grails3怎么更换连接池

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

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

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

  • 由于默认使用的是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安全错误 数据库的锁怎样保障安全 二型网络安全监测装置市场报价 放挖金矿的服务器犯法吗 如何查看服务器节点名 聊城平台软件开发外包公司 长沙手机软件开发价格 网络安全影响国家安全的案例 工程软件开发股份公司有哪些 数据库系统简单的图书管理系统 霜与服务器怎么样2022 在django中如何连接数据库 linux服务器如何查看光衰 行业网络安全建设工作 铭瑄内存条是服务器内存吗 计算机三级考试网络技术教材 vr设备服务器清单 用友云使用阿里云服务器 网络安全检测整改规定 在关系数据库中的关键字是指什么 溧阳网络科技公司软件开发 杨浦区使用网络技术价格优惠 加强网络安全建设对企业的意义 静安区互联网led大屏服务器 数据库创建表主键名称 中文版手机软件开发 恒生互联网和恒生科技成分股 无线网络技术特点的描述 工业机器人 软件开发 师大数据库原理及应用 英雄联盟集卡数据库请求失败 阿里云服务器怎么上线
0