Publicación de recursos atascados en el estado "Más tarde"
El recurso se publicó correctamente después de cambiar el tipo de propiedad cq:tags
a String Array.
Descripción description
Entorno
Adobe Experience Manager (AEM)
Problema
AEM Se produce un error continuo al publicar varios recursos en la publicación, especialmente imágenes, en el caso de los archivos de datos de. A menudo, sus imágenes se quedaban en un estado interminable "Más tarde", mientras que en otras ocasiones, se quedaban en el estado "Pendiente", fallando en "No publicado".
Al intentar "Quick Publish" un recurso, error.log
muestra lo siguiente:
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*
Resolución resolution
Como se puede ver en error.log
, el problema se debe a "javax.jcr.ValueFormatException: cq:tags = <value> is single-valued"
La propiedad cq:tags
es en realidad un String Array
, que es una propiedad de varios valores. Sin embargo, en este caso, fue del tipo String
el que provocó el error.
Al cambiar el tipo de propiedad cq:tags
a String Array
, el recurso se publicó correctamente.
Vínculo de documentación
AEM Encontrará más ayuda sobre la propiedad cq:tags
en el siguiente vínculo de documentación de la Guía del usuario de la aplicación de la documentación de la aplicación de la aplicación de la documentación de la aplicación de la aplicación de usuario de la aplicación de la aplicación de usuario de la aplicación:
AEM Marco de etiquetado de