Я использую MyFaces CODI, потому что он позволяет мне использовать аннотации CDI с ViewAccessScoped - отлично работает для этого.Проблема в том, что я обнаружил, что несколько вкладок браузера, открытых моим приложением, совместно используют один и тот же экземпляр @ ViewAccessScoped компонента EJB.Неловко.Нежелательно.
На моей странице есть что-то вроде этого:
<h:link outcome="dispRecord"
target="_blank"
value="Click Here To Open New Window For Record 101" >
<f:param name="recID" value="101" />
</h:link>
<h:link outcome="dispRecord"
target="_blank"
value="Click Here To Open New Window For Record 202" >
<f:param name="recID" value="202" />
</h:link>
<h:link outcome="dispRecord"
target="_blank"
value="Click Here To Open New Window For Record 303" >
<f:param name="recID" value="303" />
</h:link>
(это действительно делается с помощью итерации, выполняемой компонентом Primefaces p: dataGrid , ноздесь я пытаюсь упростить.)
При нажатии на любую из ссылок браузер откроет новое окно (вкладку), а открываемая веб-страница JSF ссылается на поддержку @ ViewAccessScoped боб.Однако все они получают одинаковый идентификатор окна, который совпадает с основным окном со ссылками в нем.Я предполагаю, что именно поэтому они все получают один и тот же экземпляр компонента поддержки.
Кто-нибудь знает, как это исправить?