web-dev-qa-db-fra.com

Arrêter ExecutorService 'applicationTaskExecutor'

J'ai une application Spring-boot déployée dans un conteneur Docker dans un cluster AWS ECS.

Ma pile d'applications est => Spring Boot - JPA - MySQL RDS

Initialement, l'application est déployée et accessible via l'IP publique EC2.

Mais après quelques minutes, seule l'application arrête ExecutorService 'applicationTaskExecutor' et redémarre le conteneur. cela se produit constamment toutes les 3/4 minutes.

Je ne reçois pas ce type d'erreur dans le déploiement local lors de la connexion au même RDS.

Voici mon application.properties

server.port=8192

spring.datasource.url=jdbc:mysql://multichannelappdatabase.cvjsdfsdfsdfsfs.us-east-1.rds.amazonaws.com:3306/multichannelappdb
spring.datasource.username=xxxxx
spring.datasource.password=xxxxx
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver


spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false

spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.jpa.show-sql=true
#spring.jpa.hibernate.ddl-auto=create
spring.datasource.testWhileIdle = true
spring.datasource.timeBetweenEvictionRunsMillis = 10000
spring.datasource.Tomcat.testOnBorrow=true 
spring.datasource.Tomcat.validationQuery=SELECT 1

et voici mon journal cloudwatch


16:20:50
2019-05-02 16:20:50.514 INFO 1 --- [ main] o.s.b.w.embedded.Tomcat.TomcatWebServer : Tomcat started on port(s): 8192 (http) with context path ''

16:20:50
2019-05-02 16:20:50.516 INFO 1 --- [ main] c.api.app.runner.UserManagerApplication : Started UserManagerApplication in 9.338 seconds (JVM running for 10.291)

16:20:57
2019-05-02 16:20:57.117 INFO 1 --- [nio-8192-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'

16:20:57
2019-05-02 16:20:57.117 INFO 1 --- [nio-8192-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'

16:20:57
2019-05-02 16:20:57.131 INFO 1 --- [nio-8192-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 14 ms

16:23:19
2019-05-02 16:23:19.253 INFO 1 --- [ Thread-4] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'

16:23:19
2019-05-02 16:23:19.254 INFO 1 --- [ Thread-4] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'

16:23:19
2019-05-02 16:23:19.257 INFO 1 --- [ Thread-4] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...

16:23:19
2019-05-02 16:23:19.274 INFO 1 --- [ Thread-4] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.

Besoin d'une suggestion pour résoudre ce problème.

Toujours le même problème .. toute solution sera utile

9
ajoy sinha

Vos contrôles de santé ne sont probablement pas configurés correctement. AWS essaie régulièrement d'atteindre votre application sur un point final certain. Si ce port/chemin n'est pas accessible ou répond avec une erreur, AWS redémarrera le conteneur.

Trouvez votre équilibreur de charge (même si vous utilisez ECS, il se trouve sur le tableau de bord EC2).

  • Sous "Instances", vous trouverez des instances de votre conteneur marquées comme malsaines.
  • Sous "Health check", vous pouvez modifier le bilan de santé pour parler au bon port/URL. Assurez-vous qu'il est accessible sur votre conteneur (et dans le cas de http (s), il devrait répondre avec 200 sur les demandes simples).
0
groovedigga