[英]What is the best way to make a Jetty server do something before shutting down?
我有一個正在初始化和啟動的Jetty服務器,如下所示:
Server server = new Server(50001);
MyHandler myHandler = new MyHandler();
server.setHandler(myHandler);
// attempt to run the server
try {
server.start();
server.join();
} catch (Exception e) {
logger.warning(e.getMessage());
System.exit(2);
}
MyHandler
類具有一個稱為shutdown
的方法,該方法等待任務完成。 我希望在服務器關閉之前調用myHandler.shutdown()
。
我已經考慮過使用Runtime.getRuntime().addShutdownHook()
,但是我不確定將myHandler
傳遞給它的最佳方法,並且我懷疑必須有一種更干凈的方法來執行此操作。
我正在尋找做到這一點的最佳方法。
謝謝!
沿着處理程序鏈向下移動,您將看到它運行在AbstractLifeCycle中,該定義了一些名為doStart()和doStop()的方法。 由於您要將自己添加為服務器的處理程序,因此可以覆蓋它們以插入服務器實例的生命周期。 這通常適用於擴展AbstractLifeCycle或實現Lifecycle的任何事情,從而使其成為注冊開始和停止類型行為的便捷機制。 在處理server.start()時將調用doStart(),在處理server.stop()時將調用doStop()。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.