AEM Managed Services发布者由于Sling脚本JSP争用条件而不正常
本文介绍如何解决Adobe Experience Manager (AEM) Managed Services发布者由于Apache Sling脚本JSP模块中的竞争条件(通常由内存压力触发)而无法正常运行的场景。 该解决方案涉及应用Adobe支持部门提供的修补程序。
描述 description
环境
Adobe Experience Manager (AEM) Managed Services(所有受支持的版本)
症状
- 由于运行状况检查失败,已从负载平衡器中删除发布者实例。
- 服务在重新启动后恢复,但问题仍然存在。
- 错误日志显示与JSP编译和文件删除失败相关的异常,例如:
org.apache.sling.scripting.sightly.SightlyException: org.apache.sling.api.SlingException:处理JSP页时出现异常…… classFile.delete()失败
- 此问题无法应需复制。
- 潜在业务影响:如果发布者运行状况未及时恢复,则所有最终用户都可能受到影响。
原因
Apache Sling脚本JSP模块中由内存压力和SoftReference缓存逐出触发的竞争条件允许并行线程处理相同的已编译JSP类。 这会导致不稳定和发布者运行状况检查失败。
解决方法 resolution
请按照以下步骤解决问题:
-
查看AEM发布者错误日志,了解与JSP编译和文件删除失败相关的异常,如上所述。
-
确认症状与概述的症状相匹配(发布者不正常、运行状况检查失败、JSP处理中引用
classFile.delete()的错误)。 -
确定当前AEM Service Pack版本。 该修补程序适用于AEM 6.5.24及更高版本。 如果您使用的是早期版本,请联系Adobe支持人员以获取指导。
-
如果您使用的是受支持的版本,但尚未安装修补程序,请通过Experience League支持门户使用Adobe打开支持工单。 包括:
-
问题描述和相关错误日志摘录
-
您当前的AEM版本和Service Pack级别
-
确认问题与本文中所述的场景相匹配
-
-
从Adobe支持收到修补程序包后,请使用AEM包管理器将其上传并安装到发布服务器实例。 按照贵组织的更改管理和部署过程操作。
-
安装后,请验证以下各项:
-
在OSGi控制台中,
org.apache.sling.scripting.jsp包处于 活动 状态。 -
捆绑包版本与修补程序中提供的版本匹配。
-
只安装捆绑包的一个实例。
-
-
监测发布者运行状况和错误日志,确认问题已得到解决。
-
如果在安装修补程序后问题仍然存在,请收集新的线程转储、栈转储和错误日志,并联系Adobe支持人员以获取进一步分析。