【问题标题】:Playframework 2.x - prevent assets cachingPlayframework 2.x - 防止资产缓存
【发布时间】:2012-03-31 10:35:20
【问题描述】:

我正在使用 playframework v2,并且我的站点地图文件每天由外部进程重新创建一次。它们都在资产文件夹/站点地图中

如何强制 playframework 直接从磁盘返回文件?

【问题讨论】:

    标签: java scala caching cache-control playframework-2.0


    【解决方案1】:

    您应该获取文件(从磁盘或 WS)并在经典动作中呈现内容,然后使用注释设置缓存:

    @Cached(key="sitemap", duration=86400)
    public static Result index() {
      // ... set sitemap variable from your file
      return ok(siteMap);
    }
    

    http://www.playframework.org/documentation/2.0/JavaCache

    或者您可以通过作业实现相同的行为。

    【讨论】:

      【解决方案2】:

      将它放在 /public 文件夹中.. 来自那里的资源不会被任何控制器等拦截/处理。

      因此,如果您将文件放入文件夹 /public/sitemaps/sitemap.xml,它将以 yoursite.com/public/sitemaps/sitemap.xml 的形式提供

      【讨论】:

      • 对不起,我可能误导了你。这些文件已经在公用文件夹中。但是可以在 site.com/assets/* 访问该公用文件夹*如果播放没有处理它们,那么有些东西会丢失,因为它们被缓存了。如果我停止进程并重新启动,则会给出文件的新版本
      猜你喜欢
      • 2013-05-19
      • 1970-01-01
      • 1970-01-01
      • 2011-10-21
      • 1970-01-01
      • 2011-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多