17

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

我设法在 Eclipse 中编写了一个码头服务器,它可以工作。

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

4

2 回答 2

24

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

更新:2015 年:从 Jetty 9 开始,jetty-all.jar不推荐使用 as 依赖项。这是因为从 Jetty 9 开始,现在不可能在单个聚合 jar 中满足“所有”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,则可以使用该发行版来启动/停止 jetty 本身。

一旦你解压了你的 jetty-distribution,你会start.jar在最顶层的目录中找到一个。这可以用作以下内容。

启动码头的过程:

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

停止码头的过程:

$ java -jar start.jar STOP.PORT=28282 STOP.KEY=secret --stop
于 2013-02-20T13:56:40.133 回答
4

如果 jetty 作为 maven 插件,您可以通过按Ctrl+来停止服务器,C然后按Y确认终止。

于 2016-05-20T14:21:31.280 回答