5

我有一个 java 应用程序,它嵌入了一个码头服务器来提供 http 服务。

如果我通过 url 访问它:

http://localhost:8080/doStop

它将停止码头服务器并自行终止。

我有两个选择:

1. calls `myserver.stop()`, which `myserver` is an instance of `org.mortbay.jetty.Server`, and had set `.setStopAtShutdown(true)`
2. just invoke `System.exit()`

我想知道调用System.exit()来停止整个应用程序是否安全?

4

2 回答 2

2

当然,您可以使用System.exit(0).

但是使用服务器的 stop 方法会更干净,并防止您出现意外错误(例如,仍然打开请求)。

于 2013-10-11T11:17:30.100 回答
1

System.exit()是安全的,除非您有资源要释放、半生不熟的数据要保留,或者想要确保服务器在关闭之前完成所有打开的请求的服务。

通常,System.exit()这被认为是有害的,因为您可能会忘记您(或不知道您的同事)有与关机事件相关的有效内容。

于 2013-07-30T05:30:08.777 回答