У меня мало знаний по Java EE, но в настоящее время я изучаю ее.Долгосрочная задача в Java EE WebApp + icefaces
Я придумал проект, который включает в себя долговременную задачу (до нескольких минут), вызванную пользователем. Задача состоит из нескольких этапов. Конечно, я хотел бы показать прогресс пользователю.
В проекте используется Java EE с JPA, JSF и Icefaces. Он работает на Glassfish.
Опытный коллега посоветовал следующую картину мне:
- Создание без гражданства, асинхронное EJB, который создает объект ответа и обрабатывает запрос
- PERSIST объект ответа после каждого шага
- В бэк, запрос и отображение объекта ответа
Это хорошо работает. Моя единственная проблема - обновить сайт статуса, чтобы отразить прогресс. В настоящее время я делаю это с простой перезагрузкой страницы JavaScript каждые x секунд.
Знаете ли вы способ/шаблон, чтобы отразить текущий шаг от безстоящего ejb к bean-компоненту jsf? Или, и я бы предпочел, чтобы вы знали способ запросить ценность бэк-бэка каждые x секунд?
Edit:
Я отдаю себе отчет в ICEfaces толчок механизм, но я хочу сайт обновления статуса отсоединяется от расчета EJB по следующим причинам:
- Подложка боб может уже были уничтожены, потому что пользователь покинул сайт и вернулся позже, чтобы получить результат.
- Несколько сеансов и, следовательно, для одного пользователя могут существовать несколько компонентов.
- Имея чистый дизайн
Конечно, но, к несчастью, я не знаю механизма уведомления бэкбона о прогрессе. Бэк-файл также может быть уже уничтожен, и пользователь вернется позже, когда вычисление будет завершено. И из-за инкапсуляции я не хочу, чтобы в EJB был код льда. – Michael