[英]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.