web-dev-qa-db-fra.com

Comment remplacer hikari cp par défaut du pool Tomcat lors du démarrage du printemps 2.0

J'ai migré l'application Spring Boot vers la version 2.0 et j'ai découvert quelques problèmes liés au pool de connexions hikari. Lorsque je récupère des données de base de données, le résultat est hikari cp timeout. la connexion n'est pas disponible. Je ne sais pas pourquoi, dans la version précédente, cela a fonctionné correctement.

J'ai donc essayé d'utiliser le pool Tomcat avec cette configuration dans application.yml, mais cela n'a pas fonctionné (avec un formatage YAML correct).

spring.datasource.type=org.Apache.Tomcat.jdbc.pool.DataSource

Mon pom.xml a ces dépendances liées aux choses de la base de données:

spring-boot-jpa
spring-boot-jdbc
jdbc7

Comment exclure hikari et utiliser le pool de connexions Tomcat?

3
Luke

J'ai trouvé la solution… .. Cela peut être résolu dans pom.xml en modifiant comme suit:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
    <exclusions>
        <exclusion>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<dependency>
    <groupId>org.Apache.Tomcat</groupId>
    <artifactId>Tomcat-jdbc</artifactId>
</dependency>

Cependant, le problème de hikari était probablement dû à la petite taille par défaut du pool de connexion. Donc, ce problème pourrait être résolu aussi avec ce changement mais pas vérifié par moi-même. Notez juste pour les autres. Quelque chose comme ca:

spring.datasource.hikari.connection-timeout=60000
spring.datasource.hikari.maximum-pool-size=5
6
Luke

Également:

spring:
    datasource:
        type: org.Apache.Tomcat.jdbc.pool.DataSource

marche avec

<dependency>
    <groupId>org.Apache.Tomcat</groupId>
    <artifactId>Tomcat-jdbc</artifactId>
</dependency>
0
matzeihnsein