我该如何阻止Jetty

时间:2013-02-20 13:47:45

标签: jetty

我是Jetty和客户端/服务器架构的新手。

我设法在eclipse中编写了一个jetty服务器,但它确实有效。

但我怎么能停止码头服务器?我听说过stop.jar和start.jar。哪里可以找到它?它是否集成在jetty-all-jar中?

2 个答案:

答案 0 :(得分:22)

各种jetty-all.jar工件可用于嵌入式jetty使用。如果您决定使用此jar,则必须管理自己的启动/关闭。

更新:2015 :从Jetty 9开始,不推荐使用jetty-all.jar作为依赖项。这是因为从Jetty 9开始,现在不可能在一个聚合罐中满足Jetty的“全部”。 Jetty的组件无法包含,因为它们会导致此聚合jar的问题。 Jetty的未来,支持HTTP / 2,也使得这个聚合jar作为依赖项不那么有用。

典型嵌入模式用法

启动服务器的线程:

Server server = new Server();
// various server configuration lines
// ...

// Start server (on current thread)
server.start();

// Have current thread wait till server is done running
server.join();

告诉服务器关闭的另一个线程

// Have server stop running
server.stop();

此时原始线程在server.join();上的等待已完成,该线程继续运行。

标准分发用途

如果您使用download.eclipse.org/jetty/提供的标准发行版,则可以使用start.jar来启动/停止码头本身。

解压缩您的码头分发后,您会在最顶层的目录中找到start.jar。这可以用作以下内容。

启动码头的过程:

$ java -jar start.jar STOP.PORT=28282 STOP.KEY=secret

停止码头的过程:

$ java -jar start.jar STOP.PORT=28282 STOP.KEY=secret --stop

答案 1 :(得分:3)

如果jetty为maven插件,则按 Ctrl + C 停止服务器,然后按 Y 确认终止。