加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 16:39:27 所属栏目:Java 来源:网络整理
导读:我已经挖过Jetty文档,试图找出如何正确配置嵌入式Jetty,以优雅地关闭,但我发现它缺乏. the documentation中的例子无关紧要地使用setStopAtShutdown(true).但是,没有JavaDoc或解释为什么要这样做.据我所知,默认值设置为false. 另外,setGracefulShutdown-metho
我已经挖过Jetty文档,试图找出如何正确配置嵌入式Jetty,以优雅地关闭,但我发现它缺乏.

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

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

所以这些是我的问题:

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

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

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读