У меня есть этот код:
import com.sun.net.httpserver.HttpServer;
...
DatabaseConnection dbConnection = ...
HttpServer server = HttpServer.create();
server.createContext("/endpoint", new MyHandler(dbConnection));
server.start();
// What should I do here in order to wait until `server` stops?
dbConnection.close()
Документация com.sun.net.httpserver.HttpServer#start
гласит: «Запускает этот сервер в новом фоновом потоке.»
Я бы хотел вызвать dbConnection.close()
после того, как фоновый поток server
перестанет выполняться (что может произойти, например, из-за того, что я нажимаю Ctrl + C). Но в документации HttpServer
не указан какой-либо способ доступа к фоновому потоку, поэтому я не могу понять, как .join()
.
Как мне дождаться фон HttpServer
нить останавливается? Или есть другой способ, которым я могу гарантировать, что dbConnection.close()
вызывается, когда мое приложение закрывается?