簡體   English   中英

使Jetty服務器在關閉之前執行某些操作的最佳方法是什么?

[英]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中,該定義了一些名為doS​​tart()和doStop()的方法。 由於您要將自己添加為服務器的處理程序,因此可以覆蓋它們以插入服務器實例的生命周期。 這通常適用於擴展AbstractLifeCycle或實現Lifecycle的任何事情,從而使其成為注冊開始和停止類型行為的便捷機制。 在處理server.start()時將調用doStart(),在處理server.stop()時將調用doStop()。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM