aem - javax.jcr.version.VersionException:无法设置属性。节点已签入
问题描述
我正在尝试在 DAM 中上传图像并且工作流 (OOTB) 卡住了。以下是我得到的错误。
12.07.2018 09:58:27.712 *ERROR* [JobHandler: /etc/workflow/instances/server1/2018-07-11_2/update_asset_923:/content/../../../../../../icon-1.png/jcr:content/renditions/original] com.day.cq.dam.core.impl.AssetImpl addRendition: cannot add new rendition [cq5dam.thumbnail.48.48.png] for asset [/content/dam/____________________________]:
com.adobe.granite.asset.api.AssetException: javax.jcr.version.VersionException: Cannot set property. Node is checked in.
at com.adobe.granite.asset.core.impl.DefaultRenditionHandler.setRendition(DefaultRenditionHandler.java:79)
at com.adobe.granite.asset.core.impl.AssetImpl.setRendition(AssetImpl.java:131)
at com.day.cq.dam.core.impl.AssetImpl.addRendition(AssetImpl.java:490)
at com.day.cq.dam.core.impl.AssetImpl.addRendition(AssetImpl.java:484)
at com.day.cq.dam.core.impl.RenditionMakerImpl$PlanBasedTemplate.apply(RenditionMakerImpl.java:129)
at com.day.cq.dam.core.impl.RenditionMakerImpl.generateRenditions(RenditionMakerImpl.java:184)
at com.day.cq.dam.core.process.CreateThumbnailProcess.execute(CreateThumbnailProcess.java:121)
at com.day.cq.workflow.compatibility.CQWorkflowProcessRunner.execute(CQWorkflowProcessRunner.java:93)
at com.adobe.granite.workflow.core.job.HandlerBase.executeProcess(HandlerBase.java:215)
at com.adobe.granite.workflow.core.job.JobHandler.process(JobHandler.java:143)
at org.apache.sling.event.impl.jobs.queues.JobQueueImpl.startJob(JobQueueImpl.java:395)
at org.apache.sling.event.impl.jobs.queues.JobQueueImpl.access$100(JobQueueImpl.java:66)
at org.apache.sling.event.impl.jobs.queues.JobQueueImpl$1.run(JobQueueImpl.java:238)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.jcr.version.VersionException: Cannot set property. Node is checked in.
at org.apache.jackrabbit.oak.jcr.session.NodeImpl$35.checkPreconditions(NodeImpl.java:1330)
at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.prePerform(SessionDelegate.java:606)
图片上传后,我可以看到资产节点上设置的属性是
这可能是什么原因。
解决方案
这是一个影响 AEM 6.0、6.1 和 6.2 的已知产品错误。
来自官方文档
这是一个已知的产品错误 CQ-4215298。当用户创建版本或发布(“激活”)被另一个用户锁定的页面时,它会导致页面进入不一致状态。
解析度
此问题已在 AEM6.3 和 AEM6.2 SP1 Cumulative Fix Pack 8 中修复。
无论是否应用了修订包,您都必须修复损坏的页面。要修复页面,请按照以下步骤操作:
转到 /crx/explorer/index.jsp 并以管理员用户身份登录。打开内容资源管理器。浏览到损坏页面的 jcr: content 子节点。例如:/content/geometrixx/en/services/jcr:content 转到版本 => 签出。转到 /sites.html UI 并浏览到该页面并将其打开以进行编辑。单击左上角的锁定图标解锁页面。
推荐阅读
- ajax - 我从 servlet 响应值中得到 Undefind
- php - 根据 WooCommerce 类别自动调整产品税级
- mysql - 从 NodeJS 连接到本地 WordPress MySQL 数据库时出现 ER_ACCESS_DENIED_ERROR
- python-3.x - 每次我运行这个 python 脚本时,我都会得到输出“无”,我该如何解决这个问题?
- java - Android 文件上传 - 使用后端作为 Java Rest API 的 Retrofit Multipart
- javascript - 我的 Discord 机器人没有响应(javascript)
- java - JUnit5:Surefire 插件运行 JUnit4 测试两次
- r - 为此制作循环
- laravel - 如何从 DashboardController 将“is_read”列值设置为 1?
- java - 使用 String.split() 删除自定义的子字符串