f: websocket перестает работать в JSF 2.3 после повторного развертывания приложения на wildfly - PullRequest
3 голосов
/ 20 марта 2019

Я разрабатываю новое приложение с использованием веб-сокетов и решил использовать JSF 2.3 в wildfly 15. Все работает нормально, пока я не попытаюсь повторно развернуть свой код с помощью консоли управления wildfly.После этого Websockets перестает работать, и я могу просто заставить его работать после перезапуска сервера.Я сделал простое приложение для проверки этого поведения с помощью этого кода в теле xhtml:

<f:websocket channel="test" />

При повторном развертывании приложения я заметил, что моя страница продолжает пытаться делать запросы к конечной точке веб-сокета и продолжает получать несколько 101 (протоколы переключения) в качестве кода ответа через короткие промежутки времени (около 5 запросов в секунду).

Проверка сети Firefox

Я использовал wireshark для захвататрафик и обнаружил, что сразу после этого ответа wildfly отправляет соединение веб-сокета с закрытием [FIN] .

Я попытался сузить эту проблему и кажется мне ошибкой дикой бабочки.Я использовал свежие инсталляции wildfly 15.0.1.Final и 16.0.0.Final.У кого-нибудь есть обходной путь или рабочее решение для этого?

1 Ответ

0 голосов
/ 21 марта 2019

Я протестировал очень простое приложение на glassfish (с просто f: websocket на xhtml - без поддержки bean-компонента, просто для проверки сетевого подключения к websocket) и не смог получить тот же результат, что и на wildfly (повторял 101 ответ), поэтомуЯ думал, что это не относится к Glassfish (таким образом, не относящийся к Websocket PushContext больше не работает после повторного развертывания приложения )

После прочтения комментария Kukeltje я решил сделать болеефункциональный тест приложения и заметил, что websocket перестал работать на glassfish после перезагрузки (но не смог получить несколько ответов 101 - как в wildfly).

Так что это должно быть связано с Websocket PushContext больше не работает после приложенияredeploy

Источник тестового приложения

Тестовое приложение WAR

...