У меня есть сессия Scoped Bean:@SessionScoped управляемый компонент воссозданный когда исключение обрабатывается PrimeExceptionHandler
@SessionScoped
public class UserSession {
User user;
}
Во время моего LoginView, я бросаю SecurityException:
throw new java.lang.SecurityException("You need to login!");
Какой будет переадресован web.xml
до SelectUserBean
Теперь вот странная вещь, которую я действительно не понимаю: перед тем, как я выброшу SecurityException
, UserSession
имеет идентификатор [email protected]
и пользователя Foo
. Теперь в SelectUserBean
UserSession
имеет новый идентификатор, а пользователь null
.
в моей faces-config
я имел Primefaces обработку исключений:
<el-resolver>
org.primefaces.application.exceptionhandler.PrimeExceptionHandlerELResolver
</el-resolver>
и
<factory>
<exception-handler-factory>
org.primefaces.application.exceptionhandler.PrimeExceptionHandlerFactory
</exception-handler-factory>
</factory>
после удаления, она работает, как ожидалось. любые идеи по этому поводу?
Почему это происходит? Я думал, поскольку это компонент SessionScoped, он должен быть того же значения.