博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阿里Druid数据连接池在SSM框架中的配置使用
阅读量:6262 次
发布时间:2019-06-22

本文共 3871 字,大约阅读时间需要 12 分钟。

Druid数据连接池简介

首先可以参考阿里在给出的一些说明:

  • Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。
  • 性能好,同时自带监控页面,可以实时监控应用的连接池情况以及其中性能差的sql,方便我们找出应用中连接池方面的问题。

Druid是一个JDBC组件,它包括三部分:

  • DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系
  • DruidDataSource 高效可管理的数据库连接池
  • SQLParser

Druid可以做什么

  • 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。
  • 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。
  • 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。
  • SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。

    Druid配置

    1.Maven仓库:http://www.mvnrepository.com/artifact/com.alibaba/druid

    2.编写数据库连接的资源文件:dbconfig.properties

  • url:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8driverClassName:com.mysql.jdbc.Driverusername:rootpassword:root#------------------------------------------------------------------------------------------#配置扩展插件 监控统计用filters:stat 日志用filters:log4j 防御sql注入用filters:wallfilters:stat#最大连接池数量  初始化建立物理连接的个数  获取连接时最长的等待时间  最小连接池数量  maxIdle已经弃用maxActive:20initialSize:1maxWait:60000minIdle:10maxIdle:15#有两个含义 1.Destroy 线程会检测连接的时间 2.testWhileIdle的判断依据timeBetweenEvictionRunsMillis:60000#Destory线程中如果检测到当前连接的最后活跃时间和当前时间的差值大于minEvictableIdleTimeMillis,则关闭当前连接minEvictableIdleTimeMillis:300000#用来检测连接是否的sql,要求是一个查询语句。在mysql中通常设置为SELECT 'X'validationQuery:SELECT 'x'#申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery连接是否有效testWhileIdle:true#申请连接时执行validationQuery检测连接是否有效 这个配置会降低性能testOnBorrow:false#归还连接时执行validationQuery检测连接是否有效 这个配置会降低性能testOnReturn:false#要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为truemaxOpenPreparedStatements:20#对于建立连接超过removeAbandonedTimeout的连接强制关闭removeAbandoned:true#指定连接建立多长就被强制关闭removeAbandonedTimeout:1800#指定发生removeabandoned时,是否记录当前线程的堆栈信息到日志中logAbandoned:true

    3.在Spring配置文件ApplicationContext.xml中加载资源文件进来

    /WEB-INF/classes/dbconfig.properties

    4.在Spring配置文件ApplicationContext.xml中配置阿里数据连接池Druid

             
              
              
              
              
              
             
             
             
             
             
             
             
              
             
             
             
              
              
              
              
              
             
             
             
             
             
               
             
             
             

    5.在web.xml启用Web监控统计功能

    DruidWebStatFilter
    com.alibaba.druid.support.http.WebStatFilter
    exclusions
    *.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
    DruidWebStatFilter
    /*
       
    DruidStatView
           
    com.alibaba.druid.support.http.StatViewServlet
       
           
           
    allow
           
    127.0.0.1
       
       
           
           
    loginUsername
           
    admin
       
       
           
           
    loginPassword
           
    123456
       
           
    DruidStatView
           
    /druid/*
       
       

    6.访问监控页面 地址:端口号/项目名称/druid/index.html

转载地址:http://krkpa.baihongyu.com/

你可能感兴趣的文章
ajax--->简单加法小练习
查看>>
剑指offer例题——反转链表
查看>>
帧内宏块预测流程 (转载)
查看>>
magento性能优化
查看>>
next_permutation函数
查看>>
How to create own operator with python in mxnet?
查看>>
jQuery Ajax 实例 全解析
查看>>
博客装扮3-博客园界面装扮优化教程
查看>>
STM32CubeMX的串口配置,以及驱动代码
查看>>
组合数学 + STL --- 利用STL生成全排列
查看>>
Notepad++配置c/c++环境
查看>>
PHP——获取上传文件的后缀名
查看>>
全面理解HTTP协议
查看>>
lhgdialog弹出窗口控件 v4.1.0使用总结
查看>>
linux 中nvme 的中断申请及处理
查看>>
linux的nvme驱动参数调优
查看>>
unity编辑器之自动提示订外卖
查看>>
完整的项目管理流程(软件开发)
查看>>
PHP命名空间和自动加载初探
查看>>
跳台阶问题 【微软面试100题 第二十七题】
查看>>