Przykład zaczerpnięty z poradnika Embedded Jetty sugeruje następujące:Wbudowany Jetty dlaczego używać dołączyć
public static void main(String[] args) throws Exception
{
Server server = new Server(8080);
server.setHandler(new HelloHandler());
server.start();
server.join();}
Dlaczego muszę dodać linię server.join()
? Bez niego działa dobrze.
To naprawdę nie jest tak szybkie, zajęło 1/3 minuty, aby załadować serwer, nadal nie widzę, jak join pomoże mi. –
'Server.join()' czeka na całkowite zatrzymanie serwera, bez niego zaczynałby się przykład w pytaniu, a 'main()' kończyłby się powodując zamknięcie JVM. –
'Server.start()' zostanie zwrócony po zakończeniu głównego cyklu życia serwera. Który zawiera wszystkie komponenty, które określasz i dołączasz do Serwera przed wywołaniem 'Server.start()'. Zauważ jednak, że niektóre komponenty, takie jak DeploymentManager (którego pytanie nie używa) mają własny wątek, który nie jest zgodny z tym uogólnieniem. Dobrą praktyką jest, na przykład, zapytanie Złącza o ich stan po 'Server.start()' i przed 'Server.join()' –