Как переопределить DefaultFaceletFactory в JSF 2.2.8-

Я хочу выбрать другой кеш Facelet на основе URL-адреса, например -

        if url starts with some pattern - Choose Nocache
        otherwise - Choose default cache - expiringConcurrentcache 

Я пытаюсь переопределить DefaultFaceletFactory, но мой класс не запускается.

Я думаю, мне нужно указать некоторую конфигурацию в файлах Faces-config.xml или web.xml, но я не уверен, что мне не хватает. Я использую JSF 2.2.8.

Кто-нибудь знает, какой конфигурации мне не хватает?

public class DynamicFaceletFactory extends DefaultFaceletFactory {

    @Override
    public Facelet getFacelet(FacesContext context, URL url) throws 
                     IOException {
        if (url.getPath().contains("include://dynamicComponent/?uniqueId=")) {
            DefaultFaceletCache noCache = new DefaultFaceletCache(0); //noCache
            return noCache.getFacelet(url);
        } else {
            return super.getFacelet(context, url);
        }
    }
}

person visu.sandy    schedule 06.09.2018    source источник
comment
FaceletsFactory != FaceletsCacheFactory. Уверены, что не хотите переопределить FaceletsCacheFactory? stackoverflow.com/questions/31984924/   -  person Kukeltje    schedule 07.09.2018
comment
У меня нет доступа к URL внутри FaceletCacheFactory. Я не уверен, как определить вид кеша. открытый класс DynamicFaceletFactory extends FaceletCacheFactory { @Override public FaceletCache getFaceletCache() { // TODO Автоматически сгенерированный метод-заглушка return null; } }   -  person visu.sandy    schedule 07.09.2018
comment
Хорошо, я тоже, и у меня нет времени, чтобы узнать ближайшие дни. Я в походе с телефоном, но без ноутбука   -  person Kukeltje    schedule 07.09.2018