NullPointerException à JcrResourceResolverFactoryImpl.getResourceResolver dans AEM

Problème

L'erreur suivante est observée dans les fichiers journaux AEM :

31.05.2017 17:00:00.003 *ERROR* [sling-default-1000-HourlySnapshotJob] org.apache.sling.commons.scheduler.impl.QuartzScheduler Exception during job execution of com.day.cq.reporting.impl.snapshots.SnapshotServiceImpl$2@1a639a76 : null
java.lang.NullPointerException: null
at org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl.getResourceResolver(JcrResourceResolverFactoryImpl.java:125)
at org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl.getResourceResolver(JcrResourceResolverFactoryImpl.java:94)
at com.day.cq.reporting.impl.snapshots.SnapshotServiceImpl.executeSnapshot(SnapshotServiceImpl.java:274)
at com.day.cq.reporting.impl.snapshots.SnapshotServiceImpl$2.run(SnapshotServiceImpl.java:160)
at org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:118)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

Environnement

AEM 6.2

Cause

Cela se produit lorsqu'une classe contient une référence à une instance de classe JcrResourceResolverFactory qui a été désactivée. Lorsqu'un composant est désactivé et réactivé, une nouvelle instance est créée. Par conséquent, si quelqu'un conserve l'ancienne instance, les références sont nulles et ne sont plus jamais redéfinies. Ce fichier NullPointerException se produit lorsqu'un appel de méthode est effectué sur un champ injecté via Felix SCR. Le champ devrait réellement avoir une valeur puisque l'appel de méthode a été lancé à partir d'un appel de méthode activate() qui est également lancé par SCR.

Résolution

Ce problème est résolu dans la version 2.0.8 de la bibliothèque Apache Felix SCR. Pour résoudre le problème, installez la version la plus récente :

  1. Téléchargez version 2.0.8 du lot felix.scr.
  2. Arrêtez AEM.
  3. Placez le fichier dans le dossier crx-quickstart/install de l'instance AEM.
  4. Démarrez AEM.

 Adobe

Recevez de l’aide plus rapidement et plus facilement

Nouvel utilisateur ?

Adobe MAX 2024

Adobe MAX
La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne

Adobe MAX

La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne

Adobe MAX 2024

Adobe MAX
La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne

Adobe MAX

La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne