【问题标题】:Apache Dispatcher Sling Dynamic Include (SDI) with TTL带有 TTL 的 Apache Dispatcher Sling 动态包含 (SDI)
【发布时间】:2018-05-21 09:44:17
【问题描述】:

我正在使用 Adob​​e AEM 6.1。现在我想使用 Sling Dynamic Include 3.0。

  1. 在 Publish 实例上安装了 Sling Dynamic Include
  2. 我在以下文档的帮助下配置了 Dispatcher:

我还在缓存标签内的 dispatcher.any 文件中添加了/enableTTL "1",并在缓存标签中添加了标头

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

Sling 动态包含效果很好。但问题是 TTL 参数被忽略了。而且我知道我需要 AEM Dispatcher 4.1.11 及更高版本才能使用 TTL。好吧,我将 Dispatcher 版本 4.2.2 与 apache 2.2 一起使用。也许我需要 TTL 工作的更高 apache 版本?

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

有人知道吗?我如何检查出了什么问题? 我没有收到错误或其他错误,只是忽略了 TTL 参数。

这里工作的 SDI 包含在我的 HTML 中

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

配置

【问题讨论】:

  • 我有一段时间没有使用 Apache 2.2,但据我所知,调度程序与 Apache 2.4 和 Apache 2.2 都兼容。只要确保你download the right version。它们分别针对 Apache 2.4 和 Apache 2.2 列出。你能发布你的 SDI 的 OSGi 配置吗?
  • 我已经添加了我的配置。

标签: apache caching aem suse


【解决方案1】:

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

据我所知,在 SDI 版本 3.1.2 之前,无法使用 TTL 缓存此类资源(请参阅SLING-7785,因为资源类型作为后缀附加的方式。虽然,老实说,我不知道你为什么会得到一个缓存文档。如果不查看调度程序缓存配置,很难判断。

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

附带说明,Cognifide 不再维护您链接到的 SDI 文档。该项目已捐赠给 Apache Sling,最新文档可在 official Apache Sling Website

上找到

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    • 2018-09-30
    • 2016-11-06
    • 2018-12-29
    • 2017-03-18
    • 2014-09-04
    相关资源
    最近更新 更多