sourcetip

Run As: Spring Boot App과 Run As: Java Application의 차이점이 있습니까?

fileupload 2023. 8. 26. 12:09
반응형

Run As: Spring Boot App과 Run As: Java Application의 차이점이 있습니까?

Eclipse에 Spring Tool Suite 또는 The Spring IDE 플러그인을 사용하는 경우 다음 두 가지 방법으로 Spring 부팅 앱을 실행할 수 있습니다.

Run As:
    Spring Boot App
    Java Application

enter image description here

이 두 명령 모두 작동하며 문제 없이 내 스프링 부트 앱을 실행할 수 있습니다.하지만, 저는 두 가지 다른 프로세스의 차이점을 이해하고 싶었습니다.실제로 그들 사이에 차이가 있습니까? 아니면 똑같이 작동합니까?

누군가가 이미 논평에서 암시했듯이, 몇 가지 차이점이 있습니다.문서에서는 실행 구성 편집기에 추가적인 '벨과 휘파람'이 표시된다고 설명합니다.

두 번째이자 아마도 더 중요한 차이점은 Boot 1.3 이후 STS가 앱 종료를 친절하게 요청할 수 있도록 Spring Boot App에서 제공하는 JMX 빈이 있다는 것입니다.예를 들어 중지/다시 시작 단추를 클릭하여 IDE에서 앱을 종료하면 STS는 이 JMX 빈을 사용하여 부팅 앱을 종료하도록 요청합니다.이 기능은 "Run As Boot App" 시작 프로그램에 구현된 기능이므로 "Run As Java App"을 사용하면 적용되지 않습니다.

Java 시작 프로그램은 Java의 Process.destroy() 메서드를 사용하여 시작과 관련된 프로세스를 종료합니다.이 방법은 관련 프로세스를 '공격적'으로 종료하는 방법이며 데이터베이스 연결을 정리하는 등 앱이 항목을 제대로 정리하지 못하게 할 수 있습니다.

그래서... 요약하자면 두 가지를 얻을 수 있습니다.

  1. 부팅 컨피더에 부팅 관련 추가 UI가 있습니다.
  2. 부팅 1.3 이상에 대한 정상적인 프로세스 종료.

언급URL : https://stackoverflow.com/questions/37490144/is-there-a-difference-between-run-as-spring-boot-app-and-run-as-java-applicati

반응형