SpringBoot usa el grupo de conexiones C3P0
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! !