gpt4 book ai didi

java - 让 Jetty 服务器在关闭之前执行某些操作的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-01 04:32:46 24 4
gpt4 key购买 nike

我有一个 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 的任何内容,使其成为注册启动和停止类型行为的便捷机制。 doStart() 将在处理 server.start() 的过程中被调用,doStop() 将在处理 server.stop() 调用的过程中被调用。

关于java - 让 Jetty 服务器在关闭之前执行某些操作的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17778242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com