我正在使用com.sun.net.httpserver编写我的第一个Java web服务器。我想知道这段代码是合乎逻辑的还是必要的。具体地说,我想知道服务器是否会在某个时候停止,并需要手动重新启动。
/**
* Starts server, on error sleeps for 500ms and restarts server
*/
private static void runServer(HttpServer server) {
try {
server.start();
} catch (Exception e) {
e.printStackTrace();
try {
Thread.sleep(500);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
runServer(server);
}
}这有意义吗?或者我应该只调用server.start()并假定它不会超时或停止?
发布于 2014-05-26 06:35:54
只需调用server.start()即可。
您的代码似乎试图以递归方式重新启动服务器,但它不会这样做,因为对方法名称的混淆,而且在任何情况下,它都不会捕获在后台线程中运行的服务器中的异常。
https://stackoverflow.com/questions/23860231
复制相似问题