FaceletFactory personalizado en JSF 2.2 / Alternativas para facelets de host virtual

Desde Mojarra / JSF 2.2. ya no es posible proporcionar una costumbreFaceletFactory usando unweb.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>

Mi aplicación proporciona algunas características de CMS, incluido el soporte de host virtual para servir diferentes páginas (facelets) en función del dominio solicitado actualmente. Entonceshttp://www.domain1.com/index.xhtml devuelve contenido diferente alhttp://www.otherdomain.com/index.xhtml. La mecánica detrás de eso no es tan importante usando un solucionador de recursos personalizado. El verdadero problema al hacerlo es que jsf almacena en caché las facetas solo en función de su uri solicitada, que no contiene el nombre de host ("/index.xhtml" en ambos casos). Resolví este problema simplemente agregando el nombre de host en mi costumbreFaceletFactory: uri = "/" + getCleanHostName() + "://" + uri;. Con JSF 2.2, esto ya no parece posible. ¿Hay alguna otra forma de archivar el comportamiento de almacenamiento en caché correcto en JSF 2.2? Deshabilitar el caché de caras no es una opción debido a su impacto en el rendimiento.

Respuestas a la pregunta(1)

Su respuesta a la pregunta