- Я начинаю мое приложение, которое использует сервер Jetty, используя порт 9000.
- Я тогда закрыл мое приложение с помощью Ctrl-C
- я проверяю с «NETSTAT -a» и увидеть, что порт 9000 больше не используется.
- перезапустить мое приложение и получить:
[ERROR,9/19 15:31:08] java.net.BindException: Only one usage of each socket address (protocol/network address/port) is normally permitted [TRACE,9/19 15:31:08] java.net.BindException: Only one usage of each socket address (protocol/network address/port) is normally permitted [TRACE,9/19 15:31:08] at java.net.PlainSocketImpl.convertSocketExceptionToIOException(PlainSocketImpl.java:75) [TRACE,9/19 15:31:08] at sun.nio.ch.Net.bind(Net.java:101) [TRACE,9/19 15:31:08] at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126) [TRACE,9/19 15:31:08] at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:77) [TRACE,9/19 15:31:08] at org.mortbay.jetty.nio.BlockingChannelConnector.open(BlockingChannelConnector.java:73) [TRACE,9/19 15:31:08] at org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:285) [TRACE,9/19 15:31:08] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) [TRACE,9/19 15:31:08] at org.mortbay.jetty.Server.doStart(Server.java:233) [TRACE,9/19 15:31:08] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40) [TRACE,9/19 15:31:08] at ...
Является ли это Java ошибка? Могу ли я как-то избежать этого перед запуском сервера Jetty?Почему я получаю «java.net.BindException: только одно использование каждого адреса сокета», если netstat говорит что-то еще?
Редактировать # 1 Вот наш код для создания нашего BlockingChannelConnector, обратите внимание на "setReuseAddress (истинный)":
connector.setReuseAddress(true); connector.setPort(port); connector.setStatsOn(true); connector.setMaxIdleTime(30000); connector.setLowResourceMaxIdleTime(30000); connector.setAcceptQueueSize(maxRequests); connector.setName("Blocking-IO Connector, bound to host " + connector.getHost());
Может иметь что-то делать с простоем?
Редактировать # 2 Следующий фрагмент головоломки, который может или не может помочь: при запуске приложения в режиме отладки (Eclipse) сервер запускается без проблем !!! Но описанная выше проблема возникает воспроизводимо при запуске приложения в режиме запуска или в виде встроенного файла jar. Виски Tango Foxtrot?
Редактировать # 3 (4 дня спустя) - все еще есть проблема. Есть предположения?
Есть ли у вашей машины несколько интерфейсов? Если да, то какой из них вы связываете, и на каком интерфейсе был netstat -a? – freespace 2008-09-19 16:26:52