2016-05-27 18 views
6

Jeśli używam Suite Wiosna narzędzie lub wiosną IDE wtyczki dla Eclipse, mogę uruchomić sprężynę Boot App 2 sposoby:Czy istnieje różnica między aplikacją Uruchom jako: Wiosenne uruchamianie i Uruchom jako: Aplikacja Java?

Run As: 
    Spring Boot App 
    Java Application 

enter image description here

Obie te komendy działają i można odpalić mój sprężynę aplikacja do rozruchu bez problemu. Chciałem jednak zrozumieć różnicę między dwoma różnymi procesami. Czy rzeczywiście istnieje między nimi różnica lub działają identycznie?

+2

[Ten artykuł] (https://spring.io/blog/2015/03/18/spring-boot-support-in-spring-tool-suite-3-6-4) wyjaśnia różnice. –

+0

@robert harvey dziękuję za link. Czy możesz ponownie opublikować ten link i podać krótkie podsumowanie? Nie mogę rozwiązać mojego problemu, rozwiązanego w inny sposób –

Odpowiedz

3

Istnieje kilka różnic, jak ktoś już zasugerował w komentarzu. This article wyjaśnia, że ​​dostajesz dodatkowe "Dzwonki i gwizdki" w edytorze konfiguracji uruchamiania.

Drugą i być może ważniejszą różnicą jest to, że od wersji Boot 1.3 istnieje komponent bean JMX dostarczany przez Spring Boot App, który pozwala STS, aby ładnie poprosił aplikację o zamknięcie. Po zamknięciu aplikacji z poziomu IDE, na przykład po kliknięciu przycisku stop/restart, STS używa tego komponentu bean JMX, aby poprosić o zamknięcie aplikacji rozruchowej. Jest to funkcja zaimplementowana w programie uruchamiającym "Uruchom jako uruchomienie aplikacji", więc nie działa, jeśli używasz "Uruchom jako aplikację Java".

Program uruchamiający Java po prostu przerywa proces związany z uruchomieniem przy użyciu metody Javy Process.destroy(). Jest to bardziej "agresywny" sposób na zabicie powiązanego procesu i może uniemożliwić poprawne porządkowanie aplikacji, na przykład czyszczenie łączy bazy danych.

... Tak w skrócie można dostać dwie rzeczy:

  1. Niektóre dodatkowy interfejs rozruchu specyficzne w edytorze launch conf
  2. zakończenie procesu Płynnego dla Boot 1.3 i nowszych.
Powiązane problemy