发布资产停留在“稍后”状态

描述 description

环境

Adobe Experience Manager

问题/症状

客户在发布多个资产(尤其是图像)时遇到连续失败。 有时,他们的图像被卡在永无止境的状态“稍后”,而在其他时候,他们被卡在状态“等待”,失败为“未发布”。

尝试“快速发布”资产时, error.log 显示以下内容:

error.log

*IP 1653299068783 POST /libs/wcm/core/content/reference.json HTTP/1.1 org.apache.sling.engine.impl.SlingRequestProcessorImpl service: Uncaught Throwable

javax.servlet.ServletException: java.lang.RuntimeException: error while getting tags for '/content/dam/path-to-asset/jcr:content/metadata' at

com.day.cq.wcm.core.impl.reference.ActivationReferenceSearchServlet.doGet(ActivationReferenceSearchServlet.java:140) com.day.cq.wcm.cq-wcm-core:5.14.28 at

com.day.cq.wcm.core.impl.reference.ActivationReferenceSearchServlet.doPost(ActivationReferenceSearchServlet.java:100) com.day.cq.wcm.cq-wcm-core:5.14.28 at

org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:146) org.apache.sling.api:2.25.0 at

org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:342) org.apache.sling.api:2.25.0 at

org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:374) org.apache.sling.api:2.25.0 at

org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:583) org.apache.sling.engine:2.9.0 at

org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:45) org.apache.sling.engine:2.9.0



…



Caused by: javax.jcr.ValueFormatException: cq:tags = value is single-valued. at

org.apache.jackrabbit.oak.jcr.delegate.PropertyDelegate.getMultiState(PropertyDelegate.java:137) org.apache.jackrabbit.oak-jcr:1.42.0.T20220401090340-a7d9bc5 at

org.apache.jackrabbit.oak.jcr.session.PropertyImpl$6.perform(PropertyImpl.java:266) org.apache.jackrabbit.oak-jcr:1.42.0.T20220401090340-a7d9bc5 at

org.apache.jackrabbit.oak.jcr.session.PropertyImpl$6.perform(PropertyImpl.java:261) org.apache.jackrabbit.oak-jcr:1.42.0.T20220401090340-a7d9bc5 at

org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:210) org.apache.jackrabbit.oak-jcr:1.42.0.T20220401090340-a7d9bc5 at

org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:112) org.apache.jackrabbit.oak-jcr:1.42.0.T20220401090340-a7d9bc5 at

org.apache.jackrabbit.oak.jcr.session.PropertyImpl.getValues(PropertyImpl.java:261) org.apache.jackrabbit.oak-jcr:1.42.0.T20220401090340-a7d9bc5 at

com.day.cq.tagging.impl.JcrTagManagerImpl.getTags(JcrTagManagerImpl.java:797) com.day.cq.cq-tagging:5.13.12*

解决方法 resolution

如所示 error.log,问题是由于 "javax.jcr.ValueFormatException: cq:tags = value is single-valued"

cq:tags 属性实际上是 String Array,它是一个多值属性。 但是,在本例中,它属于 String 这导致了错误。

更改时 cq:tags 属性类型至 String Array,则资产已成功发布。

文档链接

更多关于 cq:tags 属性可以在以下文档链接中找到:
https://experienceleague.adobe.com/docs/experience-manager-65/developing/platform/tagging/framework.html?lang=en

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f