Vaadin UidlRequestHandler — получен неверный ключ безопасности
Обычно в режиме разработки сразу после перезапуска приложения я могу столкнуться со следующим предупреждением (WARN):
WARN 14936 --- [nio-8080-exec-6] c.v.f.s.c.UidlRequestHandler : Invalid security key received from 0:0:0:0:0:0:0:1
а затем повторите синхронизацию:
WARN 14936 --- [nio-8080-exec-4] c.v.f.s.communication.ServerRpcHandler : Resynchronizing UI by client's request. A network message was lost before reaching the client and the client is reloading the full UI state. This typically happens because of a bad network connection with packet loss or because of some part of the network infrastructure (load balancer, proxy) terminating a push (websocket or long-polling) connection. If you are using push with a proxy, make sure the push timeout is set to be smaller than the proxy connection timeout
Подозреваю, что эта ресинхронизация как-то связана сInvalid security key received
предупреждение.
Не могли бы вы объяснить значение этого предупреждения в контексте внутреннего устройства Ваадина? Кроме того, с чего мне следует начать процесс отладки, чтобы определить основную причину этой проблемы? Спасибо.
1 ответ
Каждый экземпляр Vaadin в веб-браузерах имеет уникальный ключ/идентификатор безопасности. Этот ключ отправляется с каждым запросом на сервер.
Затем сервер проверяет, известен ли и действителен ли этот ключ безопасности. Если да, работа продолжается в обычном режиме.
Но если запрос не может быть сопоставлен с действительным экземпляром сервера пользовательского интерфейса, это предупреждение регистрируется на стороне сервера. Затем серверная сторона отправляет команду для перестройки/синхронизации экземпляра пользовательского интерфейса клиента с экземпляром сервера. Таким образом, клиентский пользовательский интерфейс снова становится действительным.
Это может произойти, если сеансы сервера и клиента не совпадают, много потерянных пакетов и т. д.