У меня проблемы с получением bean-объектов с сессионной областью и EJB-компонентов с отслеживанием состояния для связи между пользовательскими сессиями в одном и том же контейнере java-ee.Методом проб и ошибок я решил использовать базу данных для передачи сообщений между сеансами пользователя.Но теперь у меня есть проблема, как я могу уведомить сеанс пользователя об изменении базы данных? Можно ли запустить поток фонового опроса в контексте сеанса каждого пользователя, чтобы опросить базу данных на предмет изменений?Если это сработает, каков наилучший способ избежать блокировки, но сделать так, чтобы bean-компонент «просыпался» в контексте сеанса своего пользователя?
Я использую Glassfish 3.1.2, а пользовательские сеансы являются компонентами сессионной области CDI с некоторыми EJB с состоянием для доступа к базе данных JPA.Я использую шину событий CDI для передачи сообщений вокруг компонентов в сеансе пользователя.
Я пытался использовать Singletons для связи между сеансами пользователя.Но это не работает, потому что как только сообщение, исходящее от пользователя 1, передается бинам пользователя 2, и эти бины запускают событие CDI, событие CDI обрабатывается контекстом сеанса пользователя 1. Это имеет смысл, так как сообщениебыл создан во время сеанса пользователя 1.
Любая помощь будет оценена !!