У меня есть приложение (Java), которое поставляет встроенный Jetty. По умолчанию я пытаюсь получить порт 8080 для сервера Jetty. Если порт используется, я выбираю случайный:
try {
socket = new ServerSocket(def);
} catch (IOException e) {
socket = new ServerSocket(0);
}
Проблема в том, что у меня есть клиент, который запускает Tomcat на 8080. Если tomcat закрыт, все в порядке. Если Tomcat работает как служба, и мое приложение хочет получить порт, оно получает порт по умолчанию (8080), хотя tomcat прослушивает там. Если просмотреть localhost: 8080 / test.html, я получу http 404 от Tomcat.
Так что почему-то кажется, что tomcat спит, пока нет реального запроса на порт 8080.
Я хотел бы знать, почему и как это работает, и как я могу изменить свой java-код для решения этой проблемы.
С уважением