發佈資產卡在「稍後」狀態

說明 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