JSF2 navegação dinâmica: ConfigurableNavigationHandler na inicialização do servidor

Eu quero pegar o ConfigurableNavigationHandler na subida do servidor.

FacesContext facesContext = FacesContext.getCurrentInstance();
ConfigurableNavigationHandler cnh = (ConfigurableNavigationHandler) facesContext.getApplication().getNavigationHandler();

O facesContext vem nulo, pois:
If your code calls FacesContext, it will not work outside a thread associated with a JSF request lifecycle. A FacesContext object is created for every request and disposed at the end of the request. The reason you can fetch it via a static call is because it is set to a ThreadLocal at the start of the request. The lifecycle of a FacesContext bears no relation to that of a ServletContext.

Crio um Set de NavigationCase e desejo adicionar essas regras de navegação as regras já existentes no ConfigurableNavigationHandler. O local onde pensei em fazer isso foi na inicialização do servidor, pois só ocorre uma vez.

Alguém tem alguma idéia de como eu posso fazer isso?
Grato.

Bom dia,

Neste caso você deverá requisitar o ConfigurableNavigationHandler dentro de uma ManagedBean, você tem alguma tela Inicial, tal qual o login?

Poderia associar o get do ConfigurableNavigationHandler na ManagedBean desta View.

Até mais.

Sim, posso fazer o que você disse. E já até pensei em fazer durante o login do usuário.

Mas as regras de navegação que crio dinamicamente devem ser adicionadas uma única vez ao ConfigurableNavigationHandler.
Eu poderia fazer uma checagem, sempre verificando se as regras já não foram adicionadas.
Mas pretendo fazer isso num local onde o evento só aconteça uma única vez, como na subida do servidor.

Em um outro projeto onde uso o Seam eu consigo fazer isso. Mas aí já é usando os recursos do Seam