Różne artefakty jetty-all.jar
mogą być użyte do wbudowania w pomost. Jeśli zdecydujesz się użyć tego słoika, musisz zarządzać własnym uruchamianiem/zamykaniem.
Aktualizacja: 2015: Od Jetty 9, stosowanie jetty-all.jar
jako zależność jest przestarzała. Dzieje się tak, ponieważ od wersji Jetty 9 nie można obecnie "obsłużyć" całego Mola w jednym słoju zagregowanym. Istnieją komponenty Jetty, których nie można uwzględnić, ponieważ spowodują problemy z tym zagregowanym słojem. Przyszłość Jetty z obsługą HTTP/2 sprawia, że ten zagregowany jar jest mniej przydatny jako zależność.
Typowe zastosowanie trybu wbudowania
wątku, który uruchamia serwer:
Server server = new Server();
// various server configuration lines
// ...
// Start server (on current thread)
server.start();
// Have current thread wait till server is done running
server.join();
innym wątku, który informuje serwer do zamykania
// Have server stop running
server.stop();
W tym momencie pierwotnego wątku czekać na server.join();
jest kompletny i wątek nadal działa.
standardowej dystrybucji Wykorzystanie
Jeśli używasz standardowego rozkładu dostępnego download.eclipse.org/jetty/ masz start.jar
które mogą być wykorzystane do siebie start/stop molo.
Po rozpakowaniu swojej dystrybucji-pomostu znajdziesz numer start.jar
w najwyższym katalogu. Można to wykorzystać w następujący sposób.
Proces, który rozpoczyna pomost:
$ java -jar start.jar STOP.PORT=28282 STOP.KEY=secret
Proces, który zatrzymuje pomost:
$ java -jar start.jar STOP.PORT=28282 STOP.KEY=secret --stop
Dzięki za odpowiedź. Użyłem stop(), ale wciąż mogłem wysłać prośbę, więc pomyślałem, że to nie działa. Ale myślę, że moim problemem było, że zacząłem więcej niż jedną instancję. Teraz mam metodę uruchamiania i restartowania, którą mogę wywołać w terminalu i działa. Będę musiał dodać uwierzytelnienie do moich metod uruchamiania i zatrzymywania, ale to kolejny problem. – Salvadora
Hej, czy wiesz, czy istnieje sposób na ponowne uruchomienie pomostu bez wznawiania wątku, który dołączył()? – lisak