ExecutorService 'applicationTaskExecuter' 종료 중
Spring-boot 애플리케이션을 AWS ECS 클러스터 내 도커 컨테이너에 배포했습니다.
내 애플리케이션 스택은 => Spring Boot -- JPA -- MySQL RDS입니다.
처음에는 EC2 공용 IP를 통해 애플리케이션을 배포하고 액세스할 수 있습니다.
그러나 몇 분 후 응용 프로그램만 실행자 서비스 'applicationTaskExecutor'를 종료하고 컨테이너를 다시 다시 시작합니다.매 3/4분마다 지속적으로 발생합니다.
동일한 RDS에 연결하는 로컬 배포에서 이러한 오류가 발생하지 않습니다.
이것은 나의 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
그리고 여기 제 클라우드워치 로그가 있습니다.
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.
이 문제를 해결하려면 제안이 필요합니다.
여전히 같은 문제가 발생하고 있습니다.어떤 해결책이든 도움이 될 것입니다.
상태 점검이 올바르게 설정되지 않은 것 같습니다.AWS가 정기적으로 특정 엔드포인트의 응용 프로그램에 연결하려고 합니다. 이 포트/경로에 연결할 수 없거나 오류 메시지가 표시되면 AWS가 컨테이너를 다시 시작합니다.
로드 밸런서를 찾습니다(ECS를 사용하는 경우에도 EC2 대시보드에 있음).
- "Instances"(인스턴스) 아래에 비정상으로 표시된 컨테이너의 인스턴스가 있습니다.
- "상태 점검"에서 상태 점검을 편집하여 올바른 포트/Url과 대화할 수 있습니다. 컨테이너에 연결할 수 있는지 확인하십시오(http의 경우 일반 요청에 200으로 응답해야 합니다).
호스팅 인프라의 메모리 또는 CPU가 부족하거나, 임의의 프로세스가 중단되거나, 컨테이너가 종료될 때 도커 스웜에서도 동일한 증상이 나타납니다.
저도 비슷한 증상이 있었는데, 활성도와 준비 상태 점검을 통해 문제가 해결되었습니다.
주 클래스(주 메서드를 포함하는 클래스)를 실행해 보십시오.이 클래스를 마우스 오른쪽 단추로 클릭하고 실행합니다.
언급URL : https://stackoverflow.com/questions/55956801/shutting-down-executorservice-applicationtaskexecutor
'programing' 카테고리의 다른 글
스프링 저장 프로시저 - 프로시저에서 반환되는 결과는 항상 비어 있습니다. (0) | 2023.07.21 |
---|---|
통계: Python의 조합 (0) | 2023.07.21 |
봄 부팅 웹 소켓에서 특정 사용자에게 알림 보내기 (0) | 2023.07.21 |
이미 생성된 가상 환경에서 파이썬 경로를 어떻게 설정합니까? (0) | 2023.07.21 |
Panda "동일하게 레이블이 지정된 DataFrame 개체만 비교할 수 있습니다" 오류 (0) | 2023.07.21 |