【AEM Daily】慢查询 Traversed 阈值限制设置

【正文】

在AEM中执行一句查询语句的时候,会发现没有返回结果

查看日志或者在CRXDE里用语句进行调试,会看到如下提示

如果是在日志里将会是

*WARN* ... java.lang.UnsupportedOperationException: The query read or traversed more than 100000 nodes. To avoid affecting other tasks, processing was stopped.

意思就是字面的意思 你这个查询读取或遍历了超过100000个节点。为避免影响其他任务,已停止处理

AEM默认的节点读取遍历阈值是 100000,内存节点读取阈值是 500000

这个阈值,可以通过以下方式来设定

  • AEM6.1-AEM6.2

        对于6.1和6.2的版本,这个阈值的设置,必须通过JVM的启动参数来配置

        也就是意味着,要重设这个阈值,必须重启AEM

        JVM启动参数分别为

        -Doak.queryLimitInMemory = 500000

        -Doak.queryLimitReads = 100000

  • AEM6.3 +

        对于6.3及以上版本,就可以不必重启AEM,就可以重设这个阈值

        可以通过OSGI Configuration中的 Apache Jackrabbit Query Engine Settings Service 来进行配置

        如下图

【写在最后】

如果AEM的版本是6.3及以上的话

AEM的默认JVM启动参数里是不包含 -Doak.queryLimitInMemory -Doak.queryLimitReads 这两个属性的

如果你在启动的时候,自己手动添加了这个属性的话

你再通过OSGI Configuration中的 Apache Jackrabbit Query Engine Settings Service 来配置的话

是不会生效的,JVM的参数的优先级,大于OSGI Configuration

【关于AEM】

Adobe Experience Manager (AEM)

一个将 Content Management System (CMS)与 Digital Asset Management (DAM)的强大功能相结合的企业级应用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值