У меня есть обработчик ресурсов, которому нужен доступ к bean-компонентам более низкого уровня, работающим в области диалога. Наше приложение допускает несколько сеансов входа в систему на разных вкладках браузера, работающих в одном и том же сеансе браузера, сохраняя данные входа в систему в этой области, поэтому для доступа к базе данных (мой обработчик ресурсов) требуется логин для беседы, на которую он ссылался.
Я пытался просто ожидать, что это сработает, даже используя ExternalContext.encodeRedirectUrl (), чтобы заставить Faces включать все, что ему нужно.
Я пытался явно указать параметр? Cid в моем пути запроса, поэтому я получаю доступ к
/myapp/javax.faces.resource/thumbnail_3963075518712822225212162218.png.xhtml?ln=com.myapp.attachment&cid=1
В обработчике ресурсов не отображается диалог.
Далее, если я попытаюсь проверить это с помощью Conversation.isTransient (), я получу
javax.enterprise.context.ContextNotActiveException: Conversation Context not active when method called on conversation Transient conversation
(Тем не менее я думал, что разговор всегда должен быть активным, и трассировка стека для вышеупомянутого включает , включая org.jboss.weld.servlet.ConversationPropagationFilter!
Я надеюсь, что это не связано с ошибкой https://issues.jboss.org/browse/JBSEAM-3689, для которой обходной путь "Не используйте разговоры!"
Там лучше?
Спасибо
- Ричард