我正在开发 linkchecker,想知道 AEM 何时将 URL 保存在/var/linkchecker 中以及基于什么基础?
如果我打开一个链接,那么它会保存它,或者它有一个轮询,就像它遍历完整的内容并将其放入/var/linkchecker 中。
哪个java类有助于在其存储目录中存储有效或无效的链接?
最佳答案
LinkChecker 基于创建和更新时/content(和子)节点的事件处理程序。所有内容都会根据允许的协议(protocol)和(可配置的)外部站点链接进行解析和验证。
外部链接
所有验证均在后台异步完成,并根据验证结果更新 HTML。
/var/linkchecker 是外部链接的缓存。结果基于对外部链接的简单 GET 请求,以便优化流程。 HTTP 200/30x 响应意味着链接有效。 AEM 在请求验证外部链接之前会查看此缓存,以优化页面处理。这也意味着链接验证不是实时,并且延迟与服务器上的负载成正比。
所有已检查的链接都可以通过 /etc/linkchecker.html
屏幕查看,您可以在其中请求重新验证并刷新链接的状态。
您可以通过/system/console/configMgr 下的 Day CQ Link Checker Service
配置来配置此背景检查的频率。默认间隔为 5 秒(scheduler.period 参数)。
在配置管理器/system/console/configMgr 下,您会发现许多其他控制此功能的 Day CQ Link * 配置。
例如,Day CQ Link Checker Transformer
包含需要由链接检查器转换的所有元素的配置。
类似地,Day CQ Link Checker Info Storage Service
配置链接缓存。
内部链接
内部链接将被忽略,除非它们使用 FQDN 和外部 url(作者通常不会这样做)。唯一的异常(exception)是在 Multi-Tenancy 环境中,其中一个站点的页面链接到另一个站点,并且所有映射信息都存储在 sling 映射中。
关于aem - Linkchecker 在 AEM 6.2 中的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43201494/