首页 > 解决方案 > 在码头服务器中部署 webapps 健康

问题描述

我了解在 jetty 中启用 JMX,我们可以获取有关已部署 webapps 的一些信息。

Jetty 是否还可以提供足够的信息来表明给定的 webapp 已启动并正在运行,或者可以考虑一些指标来识别已部署的 webapps 的状态?

标签: javajakarta-eejetty

解决方案


执行 Jetty 服务器转储。

https://www.eclipse.org/jetty/documentation/current/jetty-dump-tool.html

这将输出 Jetty 中所有相关组件的状态。

这可以通过各种“转储”方法访问Server(选择您想要的一种)。

您也可以在 JMX 中触发此 Jetty Server Dump。

或者,您可以询问每个已部署的 Web 应用程序的运行状态。

使用org.eclipse.jetty.util.component.LifeCycle接口和.isRunning()方法。

LifeCycle接口在所有已部署的 webapps 上都可用,即使它们是WebAppContext(用于 war 文件)的实例,或ServletContextHandler用于手动创建的 webapps,甚至ContextHandler用于“裸机”处理请求。


推荐阅读