微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 嵌入式码头和正常关机

我已经挖过Jetty文档,试图找出如何正确配置嵌入式Jetty,以优雅地关闭,但我发现它缺乏.

the documentation中的例子无关紧要地使用setStopAtShutdown(true).但是,没有JavaDoc或解释为什么要这样做.据我所知,认值设置为false.

另外,setGracefulShutdown-method changed to setStopTimeout() it seems,但是这也没有记录.

所以这些是我的问题:

>为什么在关机时设置或不设置停止?
>什么时候覆盖停止超时(认为30秒)?
>在配置Jetty进行正常关机时,还需要考虑什么其他事项?

编辑:
经过一番试错;发现如果您希望Jetty向任何监听器(如Spring的ContextLoaderListener)发出关闭事件,则需要setStopAtShutdown(true).

解决方法

正常的关机过程请求每个工作线程关闭(即完成当前请求的处理,然后不接受任何新的请求并退出).然后它等待一点(可以通过超时配置),如果任何线程保留,它会强制杀死它们.这可能会发生,因为线程需要很长时间来处理请求,例如或由于死锁.如果保持认值30秒,则应用程序可能需要30秒以上才能退出.减少超时值将为您提供更快的关机时间,但可能会牺牲正在忙于处理合法,活跃请求的线程.

原文地址:https://www.jb51.cc/java/124633.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐