VAADIN: Размер push-очереди UI.access () - PullRequest
0 голосов
/ 19 сентября 2019

Я хотел бы отслеживать свои push'ы для клиентов с помощью известной последовательности UI.access () ... на стороне сервера.

Исходная информация заключается в том, что мне приходится распространять множество push-уведомлений на мой клиенти я хочу убедиться, что ничего не ставится в очередь.

Я нашел только клиентский RPCQueue, имеющий размер (), но я понятия не имею, ищут ли сейчас правильные элементы, как получить к нему доступ.

Спасибо за любую подсказку.

Джерри

1 Ответ

1 голос
/ 20 сентября 2019

Если вы хотите узнать размер очереди задач, которые были поставлены в очередь с помощью UI.access, но еще не запущены, то вы можете использовать VaadinSession.getPendingAccessQueue.

Это, однако, не дастполное изображение, поскольку оно не охватывает изменения, которые были применены к состоянию на стороне сервера (т.е. задача UI.access уже выполнена), но еще не отправлена ​​клиенту.Эти типы изменений отслеживаются в нескольких разных местах в зависимости от типа изменения и используемой версии Vaadin.

Для этого варианта использования может быть полезно использовать встроенныйbeforeClientResponse функциональность, позволяющая применять ваши собственные изменения как можно позже, вместо того, чтобы с энтузиазмом применять изменения.

В версиях Vaadin до 8 вы делаете это путем переопределения метода beforeClientResponse в своем классе компонента или расширения.Вы должны использовать markAsDirty(), чтобы гарантировать, что beforeClientResponse будет в конечном счете запущен для этого экземпляра.

С Vaadin 10 и новее, вместо этого есть UI.beforeClientResponse, которому вы дадите обратный вызов, который будет запущен один разв надлежащее время в рамках.

...