Я использую GF 4 как сервер JavaEE.Является ли каждый метод ServerEndpoint выполненным по разному потоку?
Вот как я понимаю обработку сервлетов: есть пул потоков, и когда запрос приходит, один поток из этого пула берется для обработки запроса. После этого поток возвращается в пул.
Основываясь на информации выше, я полагаю (я не уверен), что WebSockets (конечные сервера точек) обрабатываются следующим образом: Существует пул потоков, когда
- Клиент создает новый WebSocket нить берется из пула, чтобы создать новый экземпляр ServerEndpoint и выполнить метод @OnOpen. После этого поток возвращается в пул.
- Клиент отправляет сообщение через websocket на сервер. Тема берется из пула для выполнения метода @OnMessage. После этого поток возвращается в пул.
- Клиент закрывает websocket - поток берется из пула для выполнения метода @OnClose. После этого поток возвращается в пул.
Все это означает, что каждый метод ServerEndpoint может выполняться разными потоками. Правильно ли я понимаю?
Благодарим вас за ответ. Может быть, вы знаете - есть session.isOpen(). Что вернет этот метод и почему, если клиентский компьютер внезапно отключится? –
Добро пожаловать. Для каждого нового вопроса просто задайте новый вопрос. – BalusC