Если вы получаете нулевой FaceContext от FacesContext.getCurrentInstance (), тогда FacesContext не был создан для этой темы / запроса.
Проходящие запросы поступают через точку входа без лиц? Например, запрос портлета Event или Resource? В этом случае FacesContext не будет создан.
Вместо того чтобы полагаться на статические методы и потоковое локальное хранилище для доступа к данным в вашем DAO, вам следует рассмотреть возможность извлечения того, что вам нужно, из PortletRequest и передачи его в стек. Неправильно смешивать артефакты уровня представления, такие как FaceContext или PortletRequest, с вашим уровнем DAO.