Для записи состояния действий пользователя требуется какое-то временное хранилище данных (например, промежуточная таблица) -
Пользователь должен иметь возможность выйти из приложения
в любое время и вернуть
Вы можете захватить все действия пользователя в соответствующем объекте значения (скажем, с именем WizardData
) в вашем HTTPSession
(поскольку вы используете веб-уровень). Нет необходимости сохранять данные на каждой странице. Вместо этого обновите WizardData
в сеансе на «следующий» или «предыдущий». Когда пользователь завершит работу мастера, сохраните информацию в таблицах базы данных (j2ee / spring / hibernate).
Но если пользователь не завершит действие (выйдет из системы или уйдет), вы можете сохранить WizardData
в сеансе, пока пользователь не выйдет из системы или не станет недействительным. В любом из этих случаев сохраните WizardData
в промежуточной таблице с идентификатором пользователя в качестве ключа. Таким образом, вы можете получить этап мастера, как только пользователь снова войдет в систему или войдет в систему и снова запустит мастер.
ИМХО, использование JMS будет избыточным для реализации такой функциональности. Вы не получаете легкости реализации, пока добавляете дополнительный слой и сложность.