• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

Druid-目前最好的连接池

技术杂谈 勤劳的小蚂蚁 3个月前 (01-16) 76次浏览 已收录 0个评论 扫描二维码


Druid是什么

Druid是阿里开源的连接池,是Java语言中最好的数据库连接池.Druid能够提供强大的监控和扩展功能,是为监控而生的数据库连接池
GitHub:https://github.com/alibaba/druid/

添加依赖

  1. <dependency>
  2.    <groupId>com.alibaba</groupId>
  3.    <artifactId>druid</artifactId>
  4.    <version>1.1.2</version>
  5. </dependency>

参考配置

  1. <beanid="dataSource"class="com.alibaba.druid.pool.DruidDataSource"init-method="init"destroy-method="close">
  2.      <!-- 基本属性 url、user、password -->
  3.      <propertyname="url"value="${jdbc_url}"/>
  4.      <propertyname="username"value="${jdbc_user}"/>
  5.      <propertyname="password"value="${jdbc_password}"/>
  6.      <!-- 配置初始化大小、最小、最大 -->
  7.      <propertyname="initialSize"value="1"/>
  8.      <propertyname="minIdle"value="1"/>
  9.      <propertyname="maxActive"value="20"/>
  10.      <!-- 配置获取连接等待超时的时间 -->
  11.      <propertyname="maxWait"value="60000"/>
  12.      <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
  13.      <propertyname="timeBetweenEvictionRunsMillis"value="60000"/>
  14.      <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
  15.      <propertyname="minEvictableIdleTimeMillis"value="300000"/>
  16.      <propertyname="validationQuery"value="SELECT 'x'"/>
  17.      <propertyname="testWhileIdle"value="true"/>
  18.      <propertyname="testOnBorrow"value="false"/>
  19.      <propertyname="testOnReturn"value="false"/>
  20.      <!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
  21.      <propertyname="poolPreparedStatements"value="true"/>
  22.      <propertyname="maxPoolPreparedStatementPerConnectionSize"value="20"/>
  23.      <!-- 配置监控统计拦截的filters -->
  24.      <propertyname="filters"value="stat"/>
  25. </bean>
通常来说,只需要修改initialSize、minIdle、maxActive。
如果用Oracle,则把poolPreparedStatements配置为true,mysql可以配置为false。分库分表较多的数据库,建议配置为false。

连接池监控

在web.xml中加入以下配置:
  1. <!-- Druid连接池监控 -->
  2. <servlet>  
  3.    <servlet-name>DruidStatView</servlet-name>  
  4.    <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
  5. </servlet>  
  6. <servlet-mapping>  
  7.    <servlet-name>DruidStatView</servlet-name>  
  8.    <url-pattern>/druid/*</url-pattern>  
  9. </servlet-mapping>  
  10. <filter>
  11.    <filter-name>DruidWebStatFilter</filter-name>
  12.    <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
  13.    <init-param>
  14.        <param-name>exclusions</param-name>
  15.        <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
  16.    </init-param>
  17. </filter>
  18. <filter-mapping>
  19.    <filter-name>DruidWebStatFilter</filter-name>
  20.    <url-pattern>/*</url-pattern>
  21. </filter-mapping>

非常强大的监控页面!




    丨极客文库, 版权所有丨如未注明 , 均为原创丨
    本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
    转载请注明原文链接:Druid-目前最好的连接池
    喜欢 (0)
    [247507792@qq.com]
    分享 (0)
    勤劳的小蚂蚁
    关于作者:
    温馨提示:本文来源于网络,转载文章皆标明了出处,如果您发现侵权文章,请及时向站长反馈删除。

    您必须 登录 才能发表评论!

    • 精品技术教程
    • 编程资源分享
    • 问答交流社区
    • 极客文库知识库

    客服QQ


    QQ:2248886839


    工作时间:09:00-23:00