【问题标题】:bypass FreeMarker caching?绕过 FreeMarker 缓存?
【发布时间】:2010-09-26 13:03:27
【问题描述】:

请求某些模板时是否可以绕过 Freemarker 缓存?我意识到我可能必须实现自己的 TemplateLoader 才能做到这一点,但即便如此,当请求模板 A 时,我看不到检查缓存的方法,但在请求模板 B 时绕过它?

如果这是不可能的,我只需要完全禁用缓存。

【问题讨论】:

  • 你是直接使用freemarker还是通过一些web框架?

标签: java caching freemarker


【解决方案1】:

尝试在您的 configuration 上禁用缓存:

configuration.setTemplateUpdateDelay(0);

这应该会导致它在每次请求时检查模板的更新版本。

要仅跳过某些模板的缓存,您只需覆盖 getLastModified 以返回某些模板的非常旧的日期,从而强制重新加载。

【讨论】:

    【解决方案2】:

    您可以在配置对象本身上设置它。详情请见this page

    对于您的特定问题,您可以执行以下操作:

    cfg.setSetting(Configuration.CACHE_STORAGE_KEY, "strong:0, soft:0");
    

    【讨论】:

      猜你喜欢
      • 2021-01-29
      • 2021-10-23
      • 2010-09-19
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多