SpringBoot encontró problemas importantes con la última versión de Druid

Problema de druida encontrado

Recientemente trabajé en un proyecto y encontré muchas inserciones. Después de mucha depuración, finalmente descubrí que era un problema con el grupo de conexiones de Druid. (Encontré el pozo de Druid en un proyecto grande antes). Después de cambiar decisivamente a c3p0, la prueba de estrés aumentó. Arriba.

A continuación se explica cómo reemplazar c3p0.

1. Modificar pom.xml

Importar dependencias c3p0:

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

2. Modificar 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. Aumente la clase 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();
	}
}

Empaca y ejecuta: ¡el mundo vuelve a estar en paz! !

Supongo que te gusta

Origin blog.csdn.net/u014745631/article/details/108786050
Recomendado
Clasificación