Vaadin динамически отображает измененные данные на всех экранах пользователей

Я пытаюсь динамически отображать изменения данных на экранах всех вошедших в систему пользователей.

В базу данных добавляются элементы или один из их атрибутов изменяется пользователями или запланированными задачами (cron-jobs).

Я хочу отразить эти изменения на экранах всех вошедших в систему пользователей без необходимости обновления страницы. Это включает в себя определенные части всех экранов. Одна часть - это левая часть меню на всех экранах, другая - содержимое таблицы.

Я могу сделать это для одного вошедшего в систему пользователя, повторно назначив измененный источник данных таблице и перестроив левое меню после переназначения источника данных. Но это только для текущего пользователя. Мне нужно изменить все пользовательские экраны, которые в данный момент используются.

Я проверил Vaadin PUSH, но не мог понять его.

Как я могу это сделать с Ваадином?

Заранее спасибо.


person CntkCtn    schedule 05.12.2017    source источник


Ответы (1)


Проверьте это: https://vaadin.com/docs/v8/framework/articles/BroadcastingMessagesToOtherUsers.html

Короче говоря, вы можете использовать шаблон наблюдателя для уведомления всех пользовательских интерфейсов об изменениях в базе данных. Вам также необходимо включить push и изменить пользовательский интерфейс с помощью метода UI.access(Runnable).

person Alejandro Duarte    schedule 07.12.2017