Удаленный опрос в ManagedBean и уведомление клиента о просмотре с помощью push

У меня есть представление jsf, которое показывает некоторые данные из управляемого компонента (viewcope) в таблице, которая извлекается удаленно.

В настоящее время данные обновляются путем опроса из клиентского представления с использованием компонента опроса primefaces.

Этого недостаточно, так как большая часть трафика отправляется клиенту, и теперь, когда Primefaces поддерживает push-запрос к серверу, я хочу перезагрузить данные и отправить их в представление клиента, если данные были изменены.

Это должно быть реализовано путем опроса с веб-уровня на уровень приложения, вызывающего метод, подобныйhasChanged(...), Если данные изменены, веб-уровень отправляет клиенту уведомление для перезагрузки данных.

Текущий опрос клиентов

клиент >> веб-уровень >> приложение-уровень

клиент запрашивает веб-уровень через ajax для данных, который снова запрашивает уровень приложений для просмотра данных и обновлений

Желаемый опрос и толчок веб-уровня

клиент << веб-уровень >> приложение-уровень

веб-уровень опрашивает уровень приложения, если данные изменились и перезагружается от имени, и информирует (толкает) клиента для обновления представления

подходы:

Каков наилучший подход для реализации опроса в управляемом компоненте на веб-уровне?

TimerTask в управляемом бине

Порождение потоков в управляемом компоненте JSF для запланированных задач с использованием таймераДополнительный EJB с аннотацией ScheduleДополнительный EJB с TimerServiceДругой?

Редактировать:

Архитектура: (3-х уровневая)

Сервер1: база данныхСервер2: уровень приложения (EAR с удаленным EJB + Hibernate)Сервер 3: веб-уровень (WAR с JSF 2.0 + Primefaces 3.4)Клиент: Браузер

Ответы на вопрос(1)

Ваш ответ на вопрос