Привет
Я запускаю свое веб-приложение на Tomcat6 на Java6 на Ubuntu8.04.
Основной сервлет этого приложения открывает ServerSocket со следующим простым кодом:
ServerSocket serverSocket = new ServerSocket(6767);
Socket xmlSocket = serverSocket.accept();
Конечно, это выполняется в отдельном потоке и с необходимыми блоками try-catch.
Когда я запускаю Tomcat, он сразу переходит на 100% загрузку ЦП и остается там до тех пор, пока клиент не подключится к порту 6767. Пока клиент подключен, нагрузка снижается до 0%. Как только клиент отключается, нагрузка возвращается к 100%.
Кто-нибудь может сказать мне, о чем это?
Спасибо!
РЕШЕНИЕ:
Оба ответа ниже были очень полезными. Проблема на самом деле не связана с ServerSocket, но с бессонным циклом while в совершенно другом потоке приложения, но также зависит от того, подключен клиент или нет.
Мне удалось идентифицировать активные потоки с помощью команды JDK "jstack", а затем было легко найти тот, с циклом убегания.
Спасибо за помощь! :)