Обойти FreeMarker кеширование?

Можно ли обойти кеш Freemarker при запросе определенных шаблонов? Я понимаю, что мне, вероятно, придется реализовать свой собственный TemplateLoader для этого, но даже в этом случае я не вижу способа проверить кеш при запросе шаблона A, но обойти его при запросе шаблона B?

Если это невозможно, мне просто нужно полностью отключить кэширование.

11.12.2008 21:57:55
Используете ли вы freemarker напрямую или через веб-фреймворк?
krosenvold 11.12.2008 22:15:25
2 ОТВЕТА

попробуйте отключить кеширование в вашей конфигурации :

configuration.setTemplateUpdateDelay(0);

Это должно заставить его проверять наличие новой версии шаблона каждый раз, когда он запрашивается.

Чтобы пропустить кэш только для определенных шаблонов, вам нужно только переопределить, getLastModifiedчтобы вернуть очень старую дату для определенных шаблонов, вызывая перезагрузку.

3
17.12.2008 00:24:29

Вы должны установить это на самом объекте конфигурации. Смотрите эту страницу для деталей.

Для вашей конкретной проблемы вы можете сделать следующее:

cfg.setSetting(Configuration.CACHE_STORAGE_KEY, "strong:0, soft:0");
1
9.06.2009 19:45:24