Причина исключения была в моих классах SessionBean.Я спросил выше, может ли причина быть инъекцией бобов в другого через FaceContext.Теперь я даю ответ самому себе: «Да, это может быть причиной».
public class MySessionBean {
private static FacesContext facesContext = FacesContext.getCurrentInstance();
private utils.AnotherSessionBean injectedSessionBean = (utils.AnotherSessionBean) facesContext.getApplication().getELResolver().getValue(facesContext.getELContext(), null, "anotherSessionBean");
// ...
}
Я чувствовал себя свободным для создания экземпляра текущего FacesContext вне какого-либо метода или конструктора, что не было хорошей идеей, потому что после тайм-аута сеанса я использовал старый или не использовал контекст сеанса.MySessionBean был перезагружен или получил новый экземпляр, но он не обновил FacesContext.Результат описан выше ^^
Вывод: Таким образом, получение FacesContext входит в кодовый блок метода или конструктора.
Большое спасибо за вашу помощь!