当我尝试在调试模式下启动时,为什么Jetty会挂起?

时间:2011-01-05 07:31:09

标签: java testing jetty wicket

我的问题是,当我尝试在调试模式下启动Start.java时,Jetty会挂起。这是我的Start.java文件,取自Wicket quickstart page

Server server = new Server();
SocketConnector connector = new SocketConnector();

// Set some timeout options to make debugging easier.
connector.setMaxIdleTime(1000 * 60 * 60);
.....
try {
    System.out.println(">>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP");
    server.start();
    System.in.read();
    System.out.println(">>> STOPPING EMBEDDED JETTY SERVER");
    // while (System.in.available() == 0) {
    //   Thread.sleep(5000);
    // }
    server.stop();
    server.join();
} catch (Exception e) {
.....
}

当我尝试到达http://localhost:8080时,我得到:

  

HTTP错误:503

     

访问问题/原因:

     

SERVICE_UNAVAILABLE

没有错误日志。怎么了,怎么解决?

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,Wicket在启动时挂了。在log4j中激活调试日志后,我发现它在从底层操作系统生成或读取随机数时会挂起。

试试这个:http://docs.codehaus.org/display/JETTY/Connectors+slow+to+startup

答案 1 :(得分:0)

该问题可能是由您的IDEA调试选项引起的。在每个断点的断点部分,有一个suspend all / thread选项。如果您已在暂停的断点处停止,则所有线程Jetty都不会响应请求(因为它已被暂停)。将断点更改为“线程”。