Symptômes

Des erreurs ValueFormatExceptions apparaissent dans le fichier crx-quickstart/logs/error.log pour l'auteur ou la publication :

2009.12.04 14:41:50.388 *INFO* [172.18.238.198 [1259966510248] GET /foo/bar.html HTTP/1.1]
    org.apache.sling.jcr.resource.internal.helper.jcr.JcrNodeResource setMetaData:
      Problem extracting metadata information for /content/apps/myapp/jcr:content/par/test_0
      javax.jcr.ValueFormatException: conversion to long failed: For input string:
          "2009-08-24T14:02:57.793-07:00": For input string: "2009-08-24T14:02:57.793-07:00"
	at org.apache.jackrabbit.value.BaseValue.getLong(BaseValue.java:148)
	at org.apache.jackrabbit.core.PropertyImpl.getLong(PropertyImpl.java:486)
	at org.apache.sling.jcr.resource.internal.helper.jcr.JcrNodeResource.setMetaData(JcrNodeResource.java:230)
	at org.apache.sling.jcr.resource.internal.helper.jcr.JcrNodeResource.<init>(JcrNodeResource.java:70)
	at org.apache.sling.jcr.resource.internal.helper.jcr.JcrNodeResourceIterator.seek(JcrNodeResourceIterator.java:91)
	at org.apache.sling.jcr.resource.internal.helper.jcr.JcrNodeResourceIterator.next(JcrNodeResourceIterator.java:76)
	at org.apache.sling.jcr.resource.internal.helper.jcr.JcrNodeResourceIterator.next(JcrNodeResourceIterator.java:38)
	at org.apache.sling.jcr.resource.internal.helper.ResourceProviderEntry$1.seek(ResourceProviderEntry.java:184)
	at org.apache.sling.jcr.resource.internal.helper.ResourceProviderEntry$1.next(ResourceProviderEntry.java:167)
	at org.apache.sling.jcr.resource.internal.helper.ResourceProviderEntry$1.next(ResourceProviderEntry.java:126)
	at com.day.cq.wcm.foundation.ParagraphSystem.collectParagraphs(ParagraphSystem.java:217)
	at com.day.cq.wcm.foundation.ParagraphSystem.initParas(ParagraphSystem.java:197)
	at com.day.cq.wcm.foundation.ParagraphSystem.paragraphs(ParagraphSystem.java:155)
	at org.apache.jsp.apps.pc_005fglobal.components.pcparsys.pcparsys_jsp._jspService(pcparsys_jsp.java:191)
	at org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        ...

Résolution

  1. Installez le pack correctif de CRX 1.4.2.5 ou version plus récente (demandez ce correctif en soumettant un ticket au service de support).
  2. Installez le correctif CQ5.2.1 24366 (demandez ce correctif en soumettant un ticket au service de support).
  3. Exécutez le script de nettoyage de type date suivant fix_date_props.zip
  • Pour exécuter le script de nettoyage, procédez comme suit :
    1. Installez le module sur l'instance fix_date_props.zip
    2. Connectez-vous à l'instance en tant qu'administrateur. Remarque :Pour ce faire, connectez-vous en tant qu'administrateur sur la page http://<host>:<port>/bin/login.html?resource=/, après avoir ouvert une session vous devez changer l'URL dans la barre d'adresse car cela ne confirmera pas que vous êtes connecté).
    3. Exécutez le script http://<host>:<port>/etc/fixjcrlastmodified/fix.html. Il liste tous les chemins d’accès contenant les propriétés jcr:lastModified et jcr:created de type String, qu’il change en type Date au fur et à mesure qu'il les répertorie.
    4. Après l’exécution du script, vous pouvez le supprimer de votre serveur en toute sécurité, via l'Explorateur de contenu CRX. Connectez-vous à l’explorateur CRX et supprimez /etc/fixjcrlastmodified.

Application

CQ5.2.x

Telechargement

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne