In my application, i use Quartz scheduler 2.1.x version when I stop tomcat server I have this error :
19 mai 2014 15:52:48 org.apache.coyote.http11.Http11Protocol destroy
INFO: Arrêt de Coyote HTTP/1.1 sur http-8080
Exception in thread "Quartz Shutdown-Hook CronTriggers" java.lang.NullPointerException
Exception in thread "Quartz Shutdown-Hook CronTriggers" at org.apache.log4j.helpers.PatternConverter.spacePad(PatternConverter.java:107)
at org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:80)
at org.apache.log4j.PatternLayout.format(PatternLayout.java:506)
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:310)
at org.apache.log4j.WriterAppender.append(WriterAppender.java:162)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
at org.apache.log4j.Category.callAppenders(Category.java:206)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.log(Category.java:856)
at org.slf4j.impl.Log4jLoggerAdapter.info(Log4jLoggerAdapter.java:305)
at org.quartz.plugins.management.ShutdownHookPlugin$1.run(ShutdownHookPlugin.java:125)
java.lang.NullPointerException
at org.apache.log4j.helpers.PatternConverter.spacePad(PatternConverter.java:107)
at org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:80)
at org.apache.log4j.PatternLayout.format(PatternLayout.java:506)
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:310)
at org.apache.log4j.WriterAppender.append(WriterAppender.java:162)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
at rg.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
at org.apache.log4j.Category.callAppenders(Category.java:206)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.log(Category.java:856)
at org.slf4j.impl.Log4jLoggerAdapter.info(Log4jLoggerAdapter.java:305)
at org.quartz.plugins.management.ShutdownHookPlugin$1.run(ShutdownHookPlugin.java:125)
Any help is welcome. Thanks
Don't use a shut down hook to stop quartz. Use a ServletContextListener in your web application. This will also stop (one cause of) a memory leak on web application reload.