首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在暂停http协议处理程序之前,Tomcat关闭钩子

在暂停http协议处理程序之前,Tomcat关闭钩子
EN

Stack Overflow用户
提问于 2013-11-18 21:55:34
回答 1查看 230关注 0票数 3

我想知道是否有一种方法可以在关闭过程中暂停http协议处理程序之前,向tomcat注册一个“关闭钩子”。

我有一个servlet,它将‘status’报告给负载平衡器,它设置为每5秒轮询一次,我的目的是添加一个关闭钩子,在更改有关应用程序的任何内容之前发生(包括事务管理器、spring、tomcat http协议处理程序等)。

其目标只是让servlet返回“关闭”,然后暂停5+秒,以便为负载平衡器提供足够的时间来实现即将发生的事情,然后让正常的关闭过程发生。

我尝试过ServletContextListener,似乎tomcat实际上在http协议侦听器到达之前暂停了它,这意味着我已经太晚了,无法生效。

干杯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-20 23:38:55

在对tomcat的放大过程进行反复观察之后,似乎没有办法通过关闭挂钩来实现这一点。作为这个问题的解决方案,我决定创建一个从我们的部署脚本中调用的webservice,它本质上告诉应用程序即将关闭,这将触发servlet向负载平衡器报告它是不可用的。部署脚本在继续关闭应用程序之前等待x时间,为整个过程留下足够的时间。

考虑到我更希望它成为标准关闭机制的一部分,这是稍微复杂和不雅观的,但这确实有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20058779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档