遇到的问题之“web container destroy and kill the job.-Web容器销毁和终止作业”
一.问题
JobThread toStop, stopReason:web container destroy and kill the job. 2023-11-22 18:10:10 [com.xxl.job.core.thread.JobThread#run]-[175]-[Thread-4744]
----------- JobThread Exception:java.lang.NoClassDefFoundError: org/apache/ibatis/reflection/ExceptionUtil
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)
at com.sun.proxy.$Proxy34.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:166)
at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:82)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
at com.sun.proxy.$Proxy60.selectByPrimaryKey(Unknown Source)
at com.bessky.financial.service.pay.PayServiceImpl.selectByPayTokenProgram(PayServiceImpl.java:209)
at sun.reflect.GeneratedMethodAccessor5833.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
at com.sun.proxy.$Proxy613.selectByPayTokenProgram(Unknown Source)
at com.bessky.financial.hander.RefreshTokenNewJobHandler.execute(RefreshTokenNewJobHandler.java:93)
at com.xxl.job.core.thread.JobThread.run(JobThread.java:152)
----------- xxl-job job execute end(error) -----------
二.原因
更新系统,导致web应用挂了,从而报出这个错误:web container destroy and kill the job -> Web容器销毁和终止作业
三.处理方案
等待系统更新完了,停止定时任务,重新跑定时任务
注意
1.一些不可逆的任务,要避免开更新时间
2.或者尽可能避免掉接口调用,这里的原因就是不断在查询接口,当web挂了它还在接口查询导致的报错