Publication de ressources bloquées sur l’état "Plus tard"

La ressource a été publiée avec succès après avoir modifié la variable cq:tags type de propriété à String Array.

Description description

Environnement

Adobe Experience Manager (AEM)

Problème

Un échec continu se produit lors de la publication de plusieurs ressources dans AEM, en particulier des images. Souvent, leurs images étaient bloquées sur un statut sans fin "Plus tard" tandis qu'à d'autres moments, elles étaient coincées sur l'état "En attente", échouant dans "Non publié".

Lors de la tentative de publication rapide d’une ressource, l’événement error.log affiche les éléments suivants :

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*

Résolution resolution

Comme vous pouvez le voir dans la variable error.log, le problème est provoqué par "javax.jcr.ValueFormatException: cq:tags = <value> is single-valued"

La variable cq:tags est une propriété String Array, qui est une propriété à plusieurs valeurs. Cependant, dans ce cas, il était de type String qui a conduit à l’erreur.

Lors de la modification de la variable cq:tags type de propriété à String Array, la ressource a été publiée avec succès.

Lien vers la documentation

Plus d’aide sur cq:tags se trouve dans le lien de documentation suivant du Guide de l’utilisateur d’AEM :
Structure de balisage AEM

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