0
votes

Manipuler la base de données dans les bottes de printemps

Je voudrais tester sur mon système si la base de données est en panne avec des bottes à ressort. J'ai écrit un appel de repos pour tester. Lorsque la base de données est en place, il renvoie "test" qui est correct. Mais la base de données est en panne, il ne renvoie rien. L'objectif est de le rendre "test" même que la base de données est en panne. Vous trouverez ci-dessous l'erreur xxx pré>

et le contrôleur de test se situe en dessous inférieur p> xxx pré>

spring.datasource.hikari.maximumPoolSize=10
spring.datasource.hikari.idleTimeout=50000
spring.datasource.hikari.maxLifetime=2000000
spring.datasource.hikari.connectionTimeout=60000
spring.datasource.continue-on-error=true
spring.datasource.initialization-mode=never
spring.datasource.hikari.pool-name=KlmsHikariCP
spring.datasource.hikari.connection-test-query=SELECT 1
spring.datasource.hikari.initialization-fail-timeout= -1
spring.datasource.hikari.isolate-internal-queries=true
spring.datasource.hikari.allow-pool-suspension=true
spring.datasource.test-while-idle=true
spring.datasource.test-on-borrow=true
spring.datasource.test-on-return=false
spring.datasource.validation-interval=40000
spring.datasource.validation-query=SELECT 1 FROM DUAL
spring.datasource.time-between-eviction-runs-millis=5000
spring.datasource.min-evictable-idle-time-millis=5000
spring.datasource.remove-abandoned=true
spring.datasource.remove-abandoned-timeout=3
spring.datasource.log-abandoned=true
spring.datasource.log-validation-errors=true


################### Hibernate Configuration ##########################
spring.jpa.hibernate.ddl-auto=none
spring.jpa.show-sql=false
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=true
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect


0 commentaires

3 Réponses :


0
votes

Vérifiez que le nom d'hôte et le port sont corrects et que le maître de poste accepte les connexions TCP / IP.

Vérifiez que le nom d'hôte et le port sont corrects et que le maître de poste accepte les connexions TCP / IP.


0 commentaires

0
votes

Cause d'erreur si elle est causée par: org.postgresql.util.psqxception: connexion à x: x: x: x: xxxx a refusé. Vérifiez que le nom d'hôte et le port sont corrects et que le maître de poste accepte les connexions TCP / IP.

Veuillez vous assurer que l'hôte de base de données et le port de votre application.Properties sont mentionnés et sont corrects et l'instance de base de données est opérationnelle et utilisée dans l'hôte mentionné.


1 commentaires

Mais je voudrais appeler le reste API avec succès, même si DB est en panne.



0
votes

Vous voulez dire pendant le démarrage du ressort ou pendant que l'application est en cours d'exécution?

Votre RestController n'accède actuellement pas à la base de données, donc je ne parviens pas à voir comment la connexion DB pourrait entraîner des erreurs et si la DB est en panne, le contrôleur doit renvoyer "Test".

Si vous voulez dire pendant le démarrage, vous pouvez essayer:

printemps.datasource.continue-on-error = true


4 commentaires

Je ne veux pas dire pendant le démarrage. L'application est avec votre config. J'aimerais revenir avec succès même que la DB est en panne quand elle est démarrée.


Juste pour effacer les œuvres suivantes pour vous: 1. DB est opérationnel 2. Votre application est opérationnelle et exécutée 3. Renvoi d'appels de repos «Test» Ce qui ne fonctionne actuellement pas pour vous est le suivant: 1. DB est en panne 2 . Bien que dB soit en panne, votre application commence 3. mais l'appel de repos ne renvoie pas "Test" est-ce correct?


Ou n'appliquez pas votre demande de démarrage bien que vous avez spring.datasource.continue-on-error = true dans vos propriétés?


La situation est la première, l'application est en place, puis la DB est en panne et que l'API de repos ne fonctionne pas