Publicar ativos com o status "Mais tarde"

O ativo foi publicado com êxito após a alteração do tipo de propriedade cq:tags para String Array.

Descrição description

Ambiente

Adobe Experience Manager (AEM)

Problema

Ocorre falha contínua ao publicar vários ativos no AEM, especialmente imagens. Muitas vezes as imagens ficaram presas em um status interminável "Mais tarde", enquanto em outros momentos, elas estavam presas no estado "Pendente", falhando em "Não publicado".

Ao tentar "Publish rápido" um ativo, o error.log exibe o seguinte:

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*

Resolução resolution

Como pode ser visto no error.log, o problema é causado por "javax.jcr.ValueFormatException: cq:tags = <value> is single-valued"

A propriedade cq:tags é na verdade String Array, que é uma propriedade de vários valores. No entanto, nesse caso, era do tipo String, o que levou ao erro.

Ao alterar o tipo de propriedade cq:tags para String Array, o ativo foi publicado com êxito.

Link de Documentação

Mais ajuda sobre a propriedade cq:tags pode ser encontrada no seguinte link de documentação no Guia do Usuário do AEM:
Estrutura de Marcação AEM

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