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
Wydaje się Dokładnie to, czego potrzebuję, przetestuję to jutro i zaakceptuję odpowiedź, jeśli to zadziała. – Kaidjin