SpringBoot发现最新版Druid重大问题(坑)

 更新时间:2020年09月27日 09:24:12   作者:冯晓东技术博客18649325921  
这篇文章主要介绍了SpringBoot发现最新版Druid重大问题(坑),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

发现Druid问题

最近做项目,遇到大量插入的地方,经过大量的调试,最终发现是Druid连接池的问题,(以前一个大项目就遇到过Druid的坑),果断换成c3p0之后,压力测试哗哗上去了。

下面是更换c3p0方法。

1.修改pom.xml

导入c3p0依赖:

<dependency>
  <groupId>com.mchange</groupId>
  <artifactId>c3p0</artifactId>
  <version>0.9.5.5</version>
</dependency>

2.修改application.yml

spring:
 application:
  name: nh-tst
 http:
  encoding:
   charset: UTF-8
   enabled: true
   force: true
 datasource:
  driver-class-name: oracle.jdbc.driver.OracleDriver
 jpa:
  hibernate:
   ddl-auto: none
  show-sql: true
c3p0:
 jdbcUrl: jdbc:oracle:thin:@xxxxx:1522/prodpdb1
 user: xxxxxx
 password: xxxxxx
 driverClass: oracle.jdbc.driver.OracleDriver
 minPoolSize: 3
 maxPoolSize: 30
 maxIdleTime: 1800000
 acquireIncrement: 120
 maxStatements: 100000
 initialPoolSize: 5
 idleConnectionTestPeriod: 60
 acquireRetryAttempts: 30
 acquireRetryDelay: 10000
 breakAfterAcquireFailure: false
 testConnectionOnCheckout: false

3.增加DataSourceConfiguration.java类

package com.nh.fk.tst.config;

import javax.sql.DataSource;

import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import com.mchange.v2.c3p0.ComboPooledDataSource;

@Configuration
public class DataSourceConfiguration {
 // c3p0 连接池
 @Bean(name = "dataSource")
 @Qualifier(value = "dataSource")
 @Primary
 @ConfigurationProperties(prefix = "c3p0")
 public DataSource dataSource() {
 return DataSourceBuilder.create().type(ComboPooledDataSource.class).build();
 }
}

打包,执行:世界又恢复了和平!!

到此这篇关于SpringBoot发现最新版Druid重大问题(坑)的文章就介绍到这了,更多相关SpringBoot Druid内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringCloud使用Zookeeper作为注册中心

    SpringCloud使用Zookeeper作为注册中心

    这篇文章主要介绍了SpringCloud如何使用Zookeeper作为注册中心,帮助大家更好的理解和学习使用Zookeeper,感兴趣的朋友可以了解下
    2021-04-04
  • Java语法基础之运算符学习笔记分享

    Java语法基础之运算符学习笔记分享

    这篇文章主要为大家分享了Java语法基础之运算符学习笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • SpringCloud中的Stream服务间消息传递详解

    SpringCloud中的Stream服务间消息传递详解

    这篇文章主要介绍了SpringCloud中的Stream服务间消息传递详解,Stream 就是在消息队列的基础上,对其进行封装,可以是我们更方便的去使用,Stream应用由第三方的中间件组成,应用间的通信通过输入通道和输出通道完成,需要的朋友可以参考下
    2024-01-01
  • springMVC+ajax实现文件上传且带进度条实例

    springMVC+ajax实现文件上传且带进度条实例

    本篇文章主要介绍了springMVC+ajax实现文件上传且带进度条实例,具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01
  • 使用Iterator删除List中的多个元素操作

    使用Iterator删除List中的多个元素操作

    这篇文章主要介绍了使用Iterator删除List中的多个元素操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • 深入理解JavaWeb中过滤器与监听器的应用

    深入理解JavaWeb中过滤器与监听器的应用

    这篇文章主要介绍了JavaWeb中过滤器与监听器的应用,过滤器能够对匹配的请求到达目标之前或返回响应之后增加一些处理代码,监听器是一个接口内容由我们实现,会在特定时间被调用,感兴趣想要详细了解可以参考下文
    2023-05-05
  • 详解spring自动扫描包

    详解spring自动扫描包

    这篇文章主要介绍了spring自动扫描包的相关知识,本文通过实例相结合的形式给大家介绍的非常详细,感兴趣的朋友跟随脚本之家小编一起看看吧
    2018-06-06
  • 深入剖析Java中String类的concat方法

    深入剖析Java中String类的concat方法

    这篇文章主要介绍了Java中String类的concat方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 详解java中controller层是干什么的

    详解java中controller层是干什么的

    Controller一般指的是MVC架构里的控制层,是对项目里的功能做统一的调度,下面这篇文章主要给大家介绍了关于java中controller层是干什么的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • Java 批量文件压缩导出并下载到本地示例代码

    Java 批量文件压缩导出并下载到本地示例代码

    这篇文章主要介绍了Java 批量文件压缩导出并下载到本地示例代码,实现思路首先要把zip流写入到http响应输出流中,再把excel的流写入zip流中,具体示例代码,大家通过本文学习吧
    2017-12-12

最新评论