如何从 servlet 内关闭 servlet 容器?

发布于 2024-08-05 11:42:31 字数 195 浏览 5 评论 0原文

是否有一种可移植的方法来请求 Servlet 容器从 servlet 内优雅地关闭?

我所说的可移植是指一种适用于所有标准兼容容器(Tomcat、Jetty、Winstone 等)的技术。

请注意,这与 Servlet.destroy() 方法相反,后者在容器删除 Servlet 时被调用。

Is there a portable way to request a Servlet container to shutdown gracefully, from within a servlet?

By portable I mean a technique that will work on all standard compliant containers (Tomcat, Jetty, Winstone, etc).

Note that this is the opposite of the Servlet.destroy() method, which gets called when the container is taking the servlet down.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

影子的影子 2024-08-12 11:42:31

我没有在 Java EE Servlet 规范 中定义任何方式知道,它需要它才能便携。

将其链接到 servlet API 规范,因此如果有这样的方法,它将记录在某处。

我也同意,让一个 servlet 能够关闭容器是一个非常糟糕的主意!

There's no way defined in the Java EE Servlet Spec that I know of, which there would need to be for it to be portable.

The link it to the servlet API specs, so if there's such a way, it'll be documented there somewhere.

I also agree that it'd be a really bad idea for one servlet to be able to shut down the container!

勿忘初心 2024-08-12 11:42:31

System.exit();

如果您在没有 SecurityManager 的情况下运行。

编辑:这优雅吗?这取决于容器。

在 Tomcat 上,如果你用 0 调用它,

  System.exit(0);

它就像 shutdown.sh 或 Catalina.stop() 一样优雅,因为 shutdown hook 只是调用 stop()。

System.exit();

If you are running with no SecurityManager.

EDIT: Is this graceful? This depends on containers.

On Tomcat, if you call it with 0

  System.exit(0);

It's as graceful as shutdown.sh or Catalina.stop() because the shutdown hook simply calls stop().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文