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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

冯晓东技术博客18649325921   2020-09-27 我要评论

本文着重讲解了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();
 }
}

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

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们