Пользовательский FaceletFactory в JSF 2.2 / Альтернативы для виртуальных хостов

С Мохарры / JSF 2.2. больше невозможно предоставить кастомFaceletFactory используяweb.xml параметр контекста:

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

Мое приложение предоставляет некоторые функции CMS, включая поддержку виртуальных хостов для обслуживания различных страниц (лицевых сторон) в зависимости от запрашиваемого в данный момент домена. Такhttp://www.domain1.com/index.xhtml возвращает другой контент, чемhttp://www.otherdomain.com/index.xhtml, Механизм, стоящий за этим, не так уж и сложен, если использовать пользовательский распознаватель ресурсов. Реальная проблема при этом заключается в том, что jsf кэширует фейслеты только на основе запрошенного URI, который не содержит имя хоста ("/index.xhtml" в обоих случаях). Я работал над этой проблемой, просто добавив имя хоста к нему в моем обычаеFaceletFactory: uri = "/" + getCleanHostName() + "://" + uri;, С JSF 2.2 это больше не представляется возможным. Есть ли другой способ архивировать правильное поведение кэширования в JSF 2.2? Отключение кэша лиц не вариант из-за его влияния на производительность.

Ответы на вопрос(1)

Ваш ответ на вопрос