如何阻止jetty跑步者执行

时间:2012-05-21 15:30:12

标签: jetty

我正在使用jettyrunner来执行我的war文件。我正在使用命令java -jar jetty runner ex.war.But我从java应用程序运行这个jetty服务器,从java执行这个命令。我的问题是它第一次工作好,但第二次,如果我再次执行另一个war文件与相同的代码执行较旧的war.i已找到旧的jetty服务器继续运行的原因。我怎么能从java停止此服务器,以便启动码头服务器以进行另一场战争。

2 个答案:

答案 0 :(得分:2)

一个选项应该是:

http://wiki.eclipse.org/Jetty/Howto/Secure_Termination

另一种方法是使用ShutdownHandler:

http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ShutdownHandler.java

或者不要像java代码那样直接使用jetty-runner,只需编写一个小的嵌入式用法:

http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty

答案 1 :(得分:0)

原来,jetty-runner.jar没有使用DH_doc_numberstop-port停止现有码头流程的功能。

我在https://github.com/jetty-project/jetty-documentation/blob/master/src/docbkx/administration/runner/jetty-runner.xml

中找到了答案
  

然后,要从不同的终端停止码头,你需要             提供相同的端口和密钥信息。为此,你也可以             需要本地安装jetty,stop-key jetty-maven-plugin插件,或编写自定义类

幸运的是,我正在实施gradle构建,因此jetty-ant满足了我的需求。