프로그래밍 방식으로 Spring 응용 프로그램을 종료하거나 중지하려면 어떻게해야합니까?Tomcat에서 Spring 응용 프로그램을 프로그래밍 방식으로 종료하는 방법
우리는 현재 ConfigurableApplicationContext#close()을 사용하고 있으며, 응용 프로그램을 종료하지만 응용 프로그램을 종료하거나 중지하지는 않습니다.
tomcat 관리자에서 응용 프로그램 상태가 계속 실행 중이므로 클라이언트는 여전히 웹 응용 프로그램에 연결하여 프런트 엔드 자원을 얻을 수 있습니다. 게다가, 모든 서블릿은 여전히 작동하는 것처럼 보이고 요청을 받아 들일 수 있습니다.
아래 코드는 우리가 현재 어떻게하고 있는지 보여줍니다.
@Autowired
private ConfigurableApplicationContext configurableApplicationContext;
@Scheduled(cron="0 0/5 * * * ?")
private void validateLicenseExpired()
{
try
{
LicenseUtils.isLicensingPeriodValid();
} catch (LicenseInvalidException lie) {
logger.error("\t The licensing is expired", lie);
configurableApplicationContext.close();
}
}
도움을 주시면 감사하겠습니다.
안녕 Avinash, 답장을 보내 주셔서 감사에 대해 설명합니다. 우리는 현재 프로젝트를 위해 스프링 부트를 사용하지 않습니다. 그러나 제공하신 링크는 ConfigurableApplicationContext.html # close()와 같은 방식으로 사용하고 있습니까? 그리고 우리는 여러 응용 프로그램이있는 컨테이너 (tomcat)를 종료 할 수 없습니다. – Bruce
내 게시물을 편집했습니다. 그 점을 살펴보십시오. – Avinash