Custom FaceletFactory no JSF 2.2 / Alternativas para facelets de host virtual

Desde Mojarra / JSF 2.2. não é mais possível fornecer um costumeFaceletFactory usando umweb.xml parâmetro de contexto:

<context-param>
        <param-name>com.sun.faces.faceletFactory</param-name>
        <param-value>my.faces.overrides.MyFaceletFactory</param-value>
</context-param>

Meu aplicativo fornece alguns recursos do CMS, incluindo suporte a host virtual para atender diferentes páginas (facelets) com base no domínio solicitado no momento. assimhttp://www.domain1.com/index.xhtml retorna conteúdo diferente dehttp://www.otherdomain.com/index.xhtml. A mecânica por trás disso não é tão grande assim, usando um resolvedor de recursos personalizado. O verdadeiro problema ao fazer isso é que o jsf armazena em cache os facelets apenas com base em sua uri solicitada, que não contém o nome do host ("/index.xhtml" em ambos os casos). Eu resolvi esse problema simplesmente adicionando o nome do host a ele no meu costumeFaceletFactory: uri = "/" + getCleanHostName() + "://" + uri;. Com o JSF 2.2, isso não parece mais possível. Existe alguma outra maneira de arquivar o comportamento correto de armazenamento em cache no JSF 2.2? Desabilitar o cache de faces não é uma opção devido ao seu impacto no desempenho.

questionAnswers(1)

yourAnswerToTheQuestion