在请求某些模板时是否可以绕过Freemarker缓存?我意识到我可能必须实现我自己的TemplateLoader才能做到这一点,但即便如此,当请求模板A时我看不到检查缓存的方法,但是在请求模板B时绕过它?
如果无法做到这一点,我只需要完全禁用缓存。
答案 0 :(得分:3)
尝试禁用configuration上的缓存:
configuration.setTemplateUpdateDelay(0);
这应该使它在每次请求时检查更新版本的模板。
要仅跳过某些模板的缓存,您只需覆盖getLastModified
即可为某些模板返回一个非常旧的日期,从而强制重新加载。
答案 1 :(得分:1)
您可以在配置对象本身上设置它。有关详细信息,请参阅this page。
对于您的特定问题,您可以执行以下操作:
cfg.setSetting(Configuration.CACHE_STORAGE_KEY, "strong:0, soft:0");