JavaMelody выдает исключение NullPointerException при запуске Tomcat

Когда мы запускаем нашу WAR в Tomcat 8, мы всегда получаем NPE из JavaMelody 1.78.0, как показано ниже.

Я не могу найти никаких намеков на то, что может вызвать это в Интернете.

[INFO] [talledLocalContainer] java.lang.NullPointerException: null
[INFO] [talledLocalContainer]   at net.bull.javamelody.internal.model.Quartz2Adapter.getAllJobsOfScheduler(Quartz2Adapter.java:149) ~[javamelody-core-1.78.0.jar:1.78.0]
[INFO] [talledLocalContainer]   at net.bull.javamelody.internal.model.JobInformations.buildJobInformationsList(JobInformations.java:163) [javamelody-core-1.78.0.jar:1.78.0]
[INFO] [talledLocalContainer]   at net.bull.javamelody.internal.model.JavaInformations.<init>(JavaInformations.java:203) [javamelody-core-1.78.0.jar:1.78.0]
[INFO] [talledLocalContainer]   at net.bull.javamelody.internal.model.UpdateChecker.getAnonymousData(UpdateChecker.java:136) [javamelody-core-1.78.0.jar:1.78.0]
[INFO] [talledLocalContainer]   at net.bull.javamelody.internal.model.UpdateChecker.checkForUpdate(UpdateChecker.java:109) [javamelody-core-1.78.0.jar:1.78.0]
[INFO] [talledLocalContainer]   at net.bull.javamelody.internal.model.UpdateChecker$1.run(UpdateChecker.java:83) [javamelody-core-1.78.0.jar:1.78.0]
[INFO] [talledLocalContainer]   at java.util.TimerThread.mainLoop(Timer.java:555) [?:1.8.0_191-1-redhat]
[INFO] [talledLocalContainer]   at java.util.TimerThread.run(Timer.java:505) [?:1.8.0_191-1-redhat]

Кто-нибудь знает, как избавиться от NPE? Пожалуйста, дайте мне знать, если мне нужно предоставить более подробную информацию.


person Jan Pralle    schedule 23.07.2019    source источник


Ответы (1)


В вашем веб-приложении для одного планировщика из org.quartz.impl.SchedulerRepository.getInstance().lookupAll() метод scheduler.getJobGroupNames() возвращает значение null.

Этого не должно происходить в кварцевом планировщике.

Попробуйте обновить планировщик Quartz.

Изменить: наконец, JCRJobStore в Onehippo/Bloomreach нарушает контракт интерфейса JobStore от планировщика Quartz: https://code.onehippo.org/cms-community/hippo-repository/blob/hippo-repository-13.3.0/engine/src/main/java/org/hippoecm/repository/quartz/JCRJobStore.java#L468

getJobGroupNames() должен возвращать пустой список вместо нуля.

person evernat    schedule 23.07.2019
comment
К сожалению нет. Я обновился до 2.3.1 (с 2.2.3), но ошибка осталась. - person Jan Pralle; 24.07.2019
comment
Я предлагаю вам выполнить отладку с точкой останова в org.quartz.impl.StdScheduler.getJobGroupNames(), чтобы понять, почему в этом случае он возвращает null. - person evernat; 27.07.2019
comment
Я подал заявку в Bloomreach, чтобы исправить их реализацию. Спасибо за вашу помощь. - person Jan Pralle; 24.09.2019