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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot详解实现自定义异常处理页面方法

    SpringBoot详解实现自定义异常处理页面方法

    SpringBoot是Spring全家桶的成员之一,是一种整合Spring技术栈的方式(或者说是框架),同时也是简化Spring的一种快速开发的脚手架
    2022-06-06
  • win10和win7下java开发环境配置教程

    win10和win7下java开发环境配置教程

    这篇文章主要为大家详细介绍了win7下Java开发环境配置教程,win10下Java开发环境配置,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • JAVA中List.addAll的基本语法与用法详解

    JAVA中List.addAll的基本语法与用法详解

    这篇文章主要给大家介绍了关于JAVA中List.addAll的基本语法与用法的相关资料,需要的朋友可以参考下
    2024-06-06
  • 如何基于sqlite实现kafka延时消息详解

    如何基于sqlite实现kafka延时消息详解

    这篇文章主要给大家介绍了关于如何基于sqlite实现kafka延时消息的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • 浅谈java异常处理之空指针异常

    浅谈java异常处理之空指针异常

    下面小编就为大家带来一篇浅谈java异常处理之空指针异常。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • IDEA 2020.1 搜索不到Chinese ​(Simplified)​ Language Pack EAP,无法安装的问题

    IDEA 2020.1 搜索不到Chinese ​(Simplified)​ Language

    小编在安装中文插件时遇到IDEA 2020.1 搜索不到Chinese &#8203;(Simplified)&#8203; Language Pack EAP,无法安装的问题,本文给大家分享我的解决方法,感兴趣的朋友一起看看吧
    2020-04-04
  • @DS注解的使用,动态数据源,事务详解

    @DS注解的使用,动态数据源,事务详解

    在项目中使用多数据源时,可以借助苞米豆的dynamic-datasource-spring-boot-starter进行配置,首先需引入相应的jar包,并在application.yml中设置主从数据源,其中一般选择master作为默认数据源,在实现类中通过@DS注解指定数据源
    2024-09-09
  • Java实现KFC点餐系统过程解析

    Java实现KFC点餐系统过程解析

    这篇文章主要介绍了Java实现KFC点餐系统过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Java源码跟踪阅读技巧【值得收藏】

    Java源码跟踪阅读技巧【值得收藏】

    今天跟大家分享一下我平时阅读源码的几个小技巧,对于阅读Java中间件如Spring、Dubbo等框架源码的同学有一定帮助。本文基于Eclipse IDE,感兴趣的朋友跟随小编一起看看吧
    2018-11-11
  • 在Windows系统下安装Thrift的方法与使用讲解

    在Windows系统下安装Thrift的方法与使用讲解

    今天小编就为大家分享一篇关于在Windows系统下安装Thrift的方法与使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12

最新评论