несколько экземпляров встроенного причала - PullRequest
4 голосов
/ 07 июля 2011

Я запускаю встроенный причал из затмения, используя конфигурацию сборки maven (jetty: run). Сервер запускается правильно:

2011-07-07 13:48:11.915:INFO::Started SelectChannelConnector@0.0.0.0:8080 STARTING

[INFO] Started Jetty Server

[INFO] Starting scanner at interval of 10 seconds

После этого я запускаю другой экземпляр, прослушивающий тот же порт (8080). Это началось как следует. Как это возможно, что несколько экземпляров одновременно работают и слушают один и тот же порт? Кстати, мое веб-приложение работает нормально, и все запросы передаются первому экземпляру, после его закрытия запросы следуют за вторым экземпляром. Спасибо

1 Ответ

3 голосов
/ 07 июля 2011

Это поведение SelectChannelConnector, которое использует java.nio селекторы вместо java.net.Socket.Я не уверен, как и почему двум экземплярам разрешено «слушать» один и тот же порт (я даже не уверен, является ли слово «listen» правильным словом для java.nio).Тем не менее, поведение, которое вы видите, является последовательным - второй SelectChannelConnector начнет получать сообщения после того, как первое остановится.

Вы можете воспроизвести «традиционное» поведение, заменив SelectChannelConnector на SocketConnector.

...