gpt4 book ai didi

java - 使用 xml 配置的服务器以编程方式关闭 Jetty

转载 作者:行者123 更新时间:2023-12-01 14:13:56 31 4
gpt4 key购买 nike

我使用的是在 xml 中配置的 jetty 服务器,如下所示:http://wiki.eclipse.org/Jetty/Reference/jetty.xml

我需要能够使用 java 代码关闭此服务器,但我不知道如何检索服务器的句柄。我完全不知道如何做到这一点,这已经困扰了我好几天。任何见解,即使只是一些可能有用的阅读 Material ,都会受到赞赏。

如果需要,请索取更多信息。

<小时/>

更新

我已根据以下代码将 ShutdownHandler 添加到 jetty.xml 中的处理程序列表中:

Server server = new Server(8080);
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[]
{ someOtherHandler, new ShutdownHandler(server,"secret password") });
server.setHandler(handlers);
server.start();

但是,我对如何完成它有点不确定,并且我不知道有任何真正的方法来检查它是否不正确。我可以从配置标签内以这种方式引用 Jetty 服务器吗?

<Item>
<New id="ShutdownHandler" class="org.eclipse.jetty.server.handler.ShutdownHandler">
<Arg><Ref id="Server"/></Arg>
<Arg type="java.lang.String">password</Arg>
</New>
</Item>

另外,我对如何在 URL url = new URL("http://localhost:"+ port + "/shutdown?token="+ shutdownCookie);< 中检索关闭 cookie 感到有点困惑

这和密码或者 key 有什么关系吗?因为我尝试了这两种方法,并且在调用 connection.getResponseCode(); 时都给出了 java.net.SocketException: Unexpected end of file from server

最佳答案

这是一种方法:

http://www.eclipse.org/jetty/documentation/current/shutdown-handler.html

您可以在 xml 中配置处理程序,然后使用一个小的 java 主类来停止它。我不知道您是否想要严格使用 jetty.xml 进行关闭,就像您最初要求的那样。如果您要启动发行版(如果使用 jetty.xml,则通常是这样),还有一个 STOP 键机制,您可以使用它,我将链接到此处:

http://www.eclipse.org/jetty/documentation/current/quickstart-running-jetty.html#quickstart-stopping-jetty

关于java - 使用 xml 配置的服务器以编程方式关闭 Jetty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18282315/

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