CDI: как уведомить bean-компонент ViewScoped из bean-компонента SessionScoped без активного контекста запроса/представлеJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 CDI: как уведомить bean-компонент ViewScoped из bean-компонента SessionScoped без активного контекста запроса/представле

Сообщение Anonymous »

У меня есть приложение/сервис Quarkus + Camel + Primefaces, который получает сообщения от AMQ Artemis. Принимающим компонентом является ApplicationScoped, и он также повторно отправляет определенные события определенным объектам SessionBean.
Существует ли хороший/стандартный способ пересылки некоторых событий из SessionBean в активные в данный момент связанные компоненты ViewScoped? Вся пересылка (маршрут Camel -> ApplicationScoped -> SessionScoped -> ViewScoped) происходит в одном и том же потоке без активного контекста запроса и без использования каких-либо реактивных компонентов.
То, что я пробовал до сих пор, но безуспешно (прослушиватель bean-компонента ViewScoped никогда не вызывается):
  • добавлена аннотация @ActivateRequestContext к методу наблюдателя bean-компонента ApplicationScoped (вызываемому процессором Camel по сообщению). поступление из AMQ) и запуск события, предназначенного для bean-компонентов ViewScoped оттуда.
  • пытался заставить bean-компонент ViewScoped самостоятельно регистрироваться в качестве прослушивателя bean-компонента SessionScoped, используя ссылку на объект. Часть регистрации работает, но я не могу вызвать bean-компонент ViewScoped по ссылке из-за «jakarta.enterprise.context.ContextNotActiveException: контекст ViewScoped не был активен при попытке получить экземпляр bean-компонента для клиентского прокси-компонента CLASS». Аннотирование метода ввода с помощью @ActivateRequestContext не помогает.
Это допустимый/поддерживаемый вариант использования? Есть какие-нибудь советы, как заставить это работать?

Подробнее здесь: https://stackoverflow.com/questions/798 ... ive-reques
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»