带有TTL的Apache Dispatcher Sling Dynamic Include(SDI)

时间:2017-12-07 10:05:10

标签: apache caching aem cq5 suse

我正在使用Adobe AEM 6.1。现在我想使用Sling Dynamic Include 3.0。

  1. 在发布实例
  2. 上安装了Sling Dynamic Include
  3. 我在以下文档的帮助下配置了Dispatcher:
  4. 我还在缓存标记内的dispatcher.any文件中添加了/enableTTL "1",并在缓存标记中添加了标题

     /headers
     {
        "Cache-Control"
        "Content-Disposition"
        "Content-Type"
        "Expires"
        "Last-Modified"
        "X-Content-Type-Options"
     }
    

    Sling Dynamic Include效果很好。但问题是忽略了TTL参数。我知道我需要AEM Dispatcher 4.1.11及更高版本才能使用TTL。好吧,我正在使用带有apache 2.2的Dispatcher版本4.2.2。也许我需要一个比TTL更高的apache版本?

    我对TTL的理解是,我想将文件缓存5分钟,所以在这5分钟内,用户总是得到缓存的文档,在这5分钟后,调度程序删除旧的缓存文件,然后获取一个新的。

    有人知道吗?我怎样才能检查出了什么问题? 我没有得到错误或什么,只是忽略了TTL参数。

    这里的工作SDI包含在我的HTML中 enter image description here

    我认为路径是错误的。在“... ttl.html”之后是资源类型“/ cbz / components / elements / bookingcalendar”。我认为它应该以.html结尾。但我不知道为什么会这样。

    配置

    enter image description here

1 个答案:

答案 0 :(得分:0)

从呈现的HTML来看,您正在处理合成资源。

据我所知,直到SDI版本3.1.2之前,都无法使用TTL来缓存此类资源(请参阅SLING-7785,这是由于将资源类型添加为后缀的方式。老实说,我不确定您为什么要得到一个缓存的文档。如果不查看调度程序的缓存配置,很难说。

我建议您尝试将SDI升级到3.1.2或更高版本,并使用新提供的配置。

另一方面,Cognifide不再维护您链接到的SDI文档。该项目已捐赠给Apache Sling,可以在official Apache Sling Website

上找到最新文档。

我注意到官方文档尚未描述此功能,因此我提出了SLING-7914。如果您能正常使用,请随时提供简短的操作指南。