В настоящее время у нас запущен сервер Jetty 7
//create a new server listening on the 80
Server server = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setReuseAddress(false);
connector.setPort(80);
server.setConnectors(new Connector[]{connector});
...
server.start();
И когда нет другого приложения, перехватывающего порт 80, все в порядке. Я также гарантировал, что два экземпляра Jetty не могут начать слушать на одном и том же порту из-за setReuseAddress
.
Однако существует случай, когда какое-то другое приложение начинает прослушивать порт 80, и серверу Jetty все еще удается запустить (не обслуживая соединения там).
C:\Users\bacadmin>netstat -anov | find ":80 "
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 3976
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 3808
TCP [::]:80 [::]:0 LISTENING 3976
Как это возможно и что можно сделать, чтобы Jetty получил исключение во время запуска, если порт не открыт.