2016-07-14 3 views
2

저는 스프링 부트 초보자입니다. 제발 쉽게가주세요.커맨드 라인에서 스프링 부트 서비스를 중지하는 방법은 무엇입니까?

저는 관리자가 작업 스케줄러에서 스프링 부트 마이크로 서비스를 시작하고 중지 할 수있는 방법을 제공해야합니다. 서비스에 대해 start.batstop.bat 개의 파일을 만들 수 있으면 스케줄러에서 호출 할 수 있습니다.

프로세스를 죽이지 않고 명령 줄에서 스프링 부팅 마이크로 서비스를 중지하려면 어떻게합니까? 가능하다면 나는 우아한 출구를 원한다.

호스트는 Windows 서버입니다.

답변

2

프로젝트에 Spring Boot Actuator가 포함 된 경우 종료 종단점을 활성화 할 수 있습니다 (기본적으로 활성화되지 않음). 즉, http://yourserver.com/yourapp/shutdown에 요청하면 애플리케이션이 정상적으로 종료됩니다. 관리자는 곱슬 곱슬 함과 같은 표준 도구를 사용하여 이러한 요청을 할 수 있습니다.

스프링 부트 참조 문서의 Endpoints을 참조하십시오. 당신은에 다음을 추가하여 종료 엔드 포인트를 사용할 수 있습니다 귀하의 application.properties :

endpoints.shutdown.enabled=true 

당연히,이 엔드 포인트에의 액세스, 요청 및 종료 응용 프로그램을 할 수있는 서비스에 액세스 할 수있는 다른 사람을 제한 할 수 있습니다 .

+0

그런 다음 스프링 보안을 사용하여 누가 종료를 호출 할 수 있는지 제한 할 수 있습니까? 다시 말하지만, 나는 초보자입니다. – Eric

+1

예, 문서에서 볼 수 있듯이'shutdown' 엔드 포인트는 기본적으로 "sensitive"로 설정되어 있습니다. 즉, 앱에서 보안이 활성화되어 있으면 사용자 이름/비밀번호가 필요합니다. Spring 레퍼런스 문서에는 이것에 대한 많은 정보가 들어 있으며 [this one] (https://spring.io/guides/gs/securing-web/)과 같은 튜토리얼도있다. – Jesper

+0

고맙습니다. 정말 감사! – Eric

관련 문제