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

La ressource a été publiée avec succès après avoir remplacé le type de propriété cq:tags par 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 "Quick Publish" d’une ressource, le 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 on peut le voir dans le error.log, le problème est causé par "javax.jcr.ValueFormatException: cq:tags = <value> is single-valued"

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

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

Lien vers la documentation

Vous trouverez plus d’aide sur la propriété cq:tags en cliquant sur le lien de documentation suivant dans le Guide de l’utilisateur d’AEM :
AEM Tagging Framework

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