我正在使用jettyrunner来执行我的war文件。我正在使用命令java -jar jetty runner ex.war.But我从java应用程序运行这个jetty服务器,从java执行这个命令。我的问题是它第一次工作好,但第二次,如果我再次执行另一个war文件与相同的代码执行较旧的war.i已找到旧的jetty服务器继续运行的原因。我怎么能从java停止此服务器,以便启动码头服务器以进行另一场战争。
答案 0 :(得分:2)
一个选项应该是:
http://wiki.eclipse.org/Jetty/Howto/Secure_Termination
另一种方法是使用ShutdownHandler:
或者不要像java代码那样直接使用jetty-runner,只需编写一个小的嵌入式用法:
答案 1 :(得分:0)
原来,jetty-runner.jar没有使用DH_doc_number
和stop-port
停止现有码头流程的功能。
然后,要从不同的终端停止码头,你需要 提供相同的端口和密钥信息。为此,你也可以 需要本地安装jetty,
stop-key
jetty-maven-plugin
插件,或编写自定义类
幸运的是,我正在实施gradle构建,因此jetty-ant
满足了我的需求。