2014-04-10 20 views
8

Mam aplikację Spring Boot, która została wygenerowana przy użyciu jhipster i działa dobrze. Jednak muszę również utworzyć drugą aplikację dla niektórych zadań wsadowych typu back-office, a ta aplikacja korzysta z większości usług wiosennych pierwszej aplikacji. To, co zrobiłem, to stworzyć drugą główną klasę, która uruchamia aplikację wiosennego rozruchu. Problem polega na tym, że uruchamia się również wbudowany serwer WWW i wszystkie usługi przydatne tylko w aplikacji internetowej. Potrzebuję tylko usług, trwałości i innych klas, które nie są specjalnie powiązane z GUI.Jak uruchomić aplikację Spring Boot bez wbudowanego tomcat?

Oto moje dwie główne klasy (uproszczony)

Normalna aplikacji wiosna-boot:

@ComponentScan 
@AutoConfigure 
class Application { 
    public static void main(String[] args) { 
     SpringApplication app = new SpringApplication(Application.class) 
     app.run(args) 
    } 
} 

aplikacja back-office:

@ComponentScan 
@AutoConfigure 
class BackOfficeApplication { 
    public static void main(String[] args) { 
     SpringApplication app = new SpringApplication(BackOfficeApplication.class) 
     app.run(args) 
    } 
} 

Co działa: Moje biuro tylną Aplikacja ma dostęp do wszystkiego, czego potrzebuję. Wiosenne usługi, fasola itp. Problem: aplikacja Back Office uruchamia interfejs GUI, co uniemożliwia mi uruchomienie go dwa razy w tym samym czasie.

Czy istnieje sposób dezaktywacji uruchamiania wbudowanego serwera Tomcat? W przeciwnym razie istnieje sposób na załadowanie kontekstu aplikacji sprężynowej w inny sposób, który nie uruchamia serwera wbudowanego?

Kilka szczegółów: * Nie uruchamiam aplikacji za pomocą mvn spring-boot: run. I uruchomić klasę bezpośrednio z Java (lub przy użyciu Eclipse

Odpowiedz

11

SpringApplication ma właściwość webEnvironment. Domyślnie jest to prawdą, jeśli Tomcat jest na ścieżce klasy, ale można ją ustawić na false (programowo lub z spring.main.webEnvironment).

+1

Wydaje się Dokładnie to, czego potrzebuję, przetestuję to jutro i zaakceptuję odpowiedź, jeśli to zadziała. – Kaidjin

Powiązane problemy