Problema
O seguinte erro é observado nos arquivos de log do 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)
Ambiente
AEM 6.2
Causa
Isso acontece quando uma classe faz referência a uma instância da classe JcrResourceResolverFactory que foi desativada. Quando um componente é desativado e ativado novamente, uma nova instância é criada. Portanto, se alguém mantém a instância antiga, as referências são nulas e nunca mais definidas. Este NullPointerException acontece quando uma chamada de método é feita em um campo injetado via Felix SCR. O campo deve realmente ter um valor desde que a chamada do método foi iniciada a partir de uma chamada activate() que também é iniciada pelo SCR.
Resolução
Esse problema foi resolvido na versão 2.0.8 da biblioteca SCR do Apache Felix. Para corrigir o problema, instale a versão mais recente:
- Baixe a versão 2.0.8 do pacote felix.scr.
- Pare o AEM.
- Coloque o arquivo na pasta crx-quickstart/install da instância do AEM.
- Inicie o AEM.
Fazer logon em sua conta