我有一个java应用程序,它嵌入了一个jetty服务器来提供http服务。
如果我通过网址访问它:
http://localhost:8080/doStop
它将停止jetty服务器并终止自身。
我有两个选择:
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()
来停止整个应用程序是否安全?
答案 0 :(得分:2)
当然,您可以使用System.exit(0)
。
但是从服务器使用stop方法会更加清晰,并且可以防止意外错误(例如仍然打开请求)。
答案 1 :(得分:1)
System.exit()
是安全的,除非你有资源要发布,半生不熟的数据要坚持,或者想要确保服务器在关闭之前完成任何打开请求的服务。
一般来说,System.exit()
被认为是有害的,因为您可能会忘记您(或不知道您的同事)与关闭事件有效的关联。