자산 게시가 "나중에" 상태에서 중단됨
cq:tags 속성 유형을 String Array.(으)로 변경한 후 자산이 게시되었습니다.
설명 description
환경
AEM(Adobe Experience Manager)
문제
AEM에서 여러 에셋, 특히 이미지를 게시하는 동안 지속적인 오류가 발생합니다. 종종 이미지가 "나중에" 상태로 계속 유지되었지만 "게시되지 않음"에 실패하여 "보류 중" 상태로 유지되기도 했습니다.
자산을 "빠른 Publish"하려고 하면 error.log에 다음 내용이 표시됩니다.
error.log:
*IP 8675309009900 POST /libs/xxx/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.xxx.xx.xxx.core.impl.reference.ActivationReferenceSearchServlet.doGet(ActivationReferenceSearchServlet.java:140) com.xxx.xx.xxx.xx-xxx-core:5.14.28 at
com.xxx.xx.xxx.core.impl.reference.ActivationReferenceSearchServlet.doPost(ActivationReferenceSearchServlet.java:100) com.xxx.xx.xxx.xx-xxx-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.T10140008675309-b8e0cd6 at
org.apache.jackrabbit.oak.jcr.session.PropertyImpl$6.perform(PropertyImpl.java:266) org.apache.jackrabbit.oak-jcr:1.42.0.T10140008675309-b8e0cd6 at
org.apache.jackrabbit.oak.jcr.session.PropertyImpl$6.perform(PropertyImpl.java:261) org.apache.jackrabbit.oak-jcr:1.42.0.T10140008675309-b8e0cd6 at
org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:210) org.apache.jackrabbit.oak-jcr:1.42.0.T10140008675309-b8e0cd6 at
org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:112) org.apache.jackrabbit.oak-jcr:1.42.0.T10140008675309-b8e0cd6 at
org.apache.jackrabbit.oak.jcr.session.PropertyImpl.getValues(PropertyImpl.java:261) org.apache.jackrabbit.oak-jcr:1.42.0.T10140008675309-b8e0cd6 at
com.xxx.xx.tagging.impl.JcrTagManagerImpl.getTags(JcrTagManagerImpl.java:797) com.xxx.xx.xx-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 속성에 대한 자세한 도움말은 AEM 사용 안내서의 다음 설명서 링크에서 확인할 수 있습니다.
AEM 태깅 프레임워크
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f