Почему Jetty зависает, когда я пытаюсь запустить его в режиме отладки?

Моя проблема в том, что когда я пытаюсь запустить Start.java в режиме отладки, Jetty зависает. Вот мой файл Start.java, взятый с страницы быстрого запуска Wicket.

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

Проблема с доступом / Причина:

СЕРВИС НЕДОСТУПЕН

Журналов ошибок нет. Что не так и как это исправить?


person Altug    schedule 05.01.2011    source источник
comment
работает ли он в обычном (не отладочном) режиме? Какую версию Jetty (зависимость от pom) вы используете? Какой отладчик вы используете?   -  person bert    schedule 05.01.2011
comment
также обычный режим дает тот же результат, версия причала: 6.1.25. Отладчик — это стандартный отладчик IntelliJ.   -  person Altug    schedule 05.01.2011
comment
Вы уверены, что все потоки работают правильно. В режиме отладки часто возникает исключение автоматической остановки при исключении, которое может привести к остановке одного или нескольких потоков отладчиком, в то время как другие потоки выполняются в то же время.   -  person Robert    schedule 05.01.2011
comment
@Altug: странно, только на прошлой неделе я создал новый проект калитки, используя артефакт, и он работает нормально, также в отладчике идей. Происходит ли какая-либо инициализация в вашем классе WicketApplication? Это даже доходит до этого?   -  person bert    schedule 05.01.2011
comment
@bert - простое приложение быстрого запуска wicket отлично работает с Start.java, но мое приложение, включающее Spring + Hibernate + Wicket, не работает с этим Start.java. Также очень странно, что нигде нет журнала.   -  person Altug    schedule 06.01.2011
comment
@Altug странный. У меня есть еще один проект, который использует JPA/Hibernate и Spring. Я проверю это сегодня вечером и посмотрю, смогу ли я запустить его в отладчике. Пробовали в Отладчике посмотреть, где зависает/останавливается?   -  person bert    schedule 06.01.2011


Ответы (2)


У меня была такая же проблема, Wicket зависала при запуске. После активации журнала отладки в log4j я обнаружил, что он зависает при создании или чтении случайного числа из базовой ОС.

Попробуйте это: http://docs.codehaus.org/display/JETTY/Connectors+slow+to+startup

person Tim Büthe    schedule 31.01.2011
comment
Привет Тим, но другое небольшое приложение калитки может работать в таком же режиме без зависаний. Также я попробую ваше решение. Спасибо. - person Altug; 01.02.2011
comment
@Altug: Попробуйте и дайте мне знать, если это поможет. Я думаю, что рандом, о котором я говорил, получается только в том случае, если вы используете SSL/https... - person Tim Büthe; 01.02.2011

Проблема, вероятно, вызвана вашими параметрами отладки IDEA. В разделе точек останова для каждой точки останова есть опция приостановки всех/потоков. Если вы остановились в точке останова, которая приостановила все потоки, Jetty не будет отвечать на запросы (поскольку он был приостановлен). Измените точку останова на «поток».

person user2290533    schedule 13.04.2019