gpt4 book ai didi

java - 程序化 jetty 关闭

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:18:53 27 4
gpt4 key购买 nike

如何以编程方式关闭嵌入式 jetty 服务器?

我这样启动 jetty 服务器:

Server server = new Server(8090);
...
server.start();
server.join();

现在,我想根据请求关闭它,例如 http://127.0.0.1:8090/shutdown我如何干净地做到这一点?

通常提出的解决方案是创建一个线程并从该线程调用 server.stop()。但我可能需要调用 Thread.sleep() 以确保 servlet 已完成对关闭请求的处理。

最佳答案

我找到了一个非常干净整洁的方法here

神奇的代码片段是:-

        server.setStopTimeout(10000L);;
try {
new Thread() {
@Override
public void run() {
try {
context.stop();
server.stop();
} catch (Exception ex) {
System.out.println("Failed to stop Jetty");
}
}
}.start();

因为关闭是从一个单独的线程运行的,所以它不会自己跳闸。

关于java - 程序化 jetty 关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5719159/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com