Springboot2.0工程使用了quartz来执行定时任务,当在IDEA中通过执行Application类来运行的时候可以正常关闭应用。但是将该应用部署到Tomcat中的时候关闭Tomcat的时候却报了下面的错误13-Feb-201817:03:30.768INFO[scheduler_Worker-1]org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoadingIllegalaccess:thiswebapplicationinstancehasbeenstoppedalready.Couldnotload[ch.qos.logback.core.status.WarnStatus].Thefollowingstacktraceisthrownfordebuggingpurposesaswellastoattempttoterminatethethreadwhichcausedtheillegalaccess.java.lang.IllegalStateException:Illegalaccess:thiswebapplicationinstancehasbeenstoppedalready.Couldnotload[ch.qos.logback.core.status.WarnStatus].Thefollowingstacktraceisthrownfordebuggingpurposesaswellastoattempttoterminatethethreadwhichcausedtheillegalaccess.atorg.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1305)Exceptioninthread"scheduler_Worker-1"java.lang.NoClassDefFoundError:ch/qos/logback/core/status/WarnStatusatch.qos.logback.classic.LoggerContext.noAppenderDefinedWarning(LoggerContext.java:186)atch.qos.logback.classic.Logger.callAppenders(Logger.java:264)atch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421)atch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)atch.qos.logback.classic.Logger.debug(Logger.java:482)atorg.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:612)在SimpleThreadPool612行中加了断点但关闭Tomcat的时候并没有进入该断点getLog().debug("WorkerThreadisshutdown.");现在很困惑感觉无从下手同样的代码通过Application类启动的话可以正常关闭但是通过Tomcat来启动的话关闭Tomcat的时候就有了额外的报错信息是Tomcat做了什么额外的工作吗还是通过Application类启动的话会先结束scheduler_Worker-1再结束主线程吗但Tomcat就没有这个顺序为什么加了断点也不会进入呢这样的话都不知道该怎么调试
添加回答
举报
0/150
提交
取消
