如何解决重新启动时出现Quartz / Spring错误导致Wildfly无法部署
我有一个执行不正确的作业,该作业的jobdata中有一个序列化的对象。在应用程序更新期间,我更改了对象,因此我们收到了InvalidClassException。我知道这一点,所以我们会做得更好。
但是现在的问题是,尝试加载单个作业的异常导致整个应用程序无法部署(野生),因为石英无法存储触发器,并且spring无法加载bean,因此该应用程序无法重新部署。
有人知道在配置中告诉石英或弹簧忽略该异常或更有效的方法吗,告诉石英简单地忽略/删除该作业(如果加载时出错)?
我正在粘贴堆栈跟踪。只是一项不良的加载工作导致spring无法启动bean,因此未部署该应用程序。当然,我可以从数据库中手动删除作业,但是我将此代码提供给其他人,并且无法控制数据库。
我们能想到忽略或删除违规工作的任何方式吗?我曾尝试使用直接SQL更改失火策略,但仍然给出错误。
谢谢!
Caused by: java.lang.RuntimeException: org.springframework.context.ApplicationContextException: Failed to start bean 'Scheduler'; nested exception is org.springframework.scheduling.SchedulingException: Could not start Quartz Scheduler; nested exception is org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested exception: org.quartz.JobPersistenceException: Couldn't store trigger 'aDisable All1602959243757' for 'aDisable All1602959243757' job:com.myapp.application.business.ReviewRecord; local class incompatible: stream classdesc serialVersionUID = 3771195656244318424,local class serialVersionUID = 1 [See nested exception: java.io.InvalidClassException: com.myapp.application.business.ReviewRecord; local class incompatible: stream classdesc serialVersionUID = 3771195656244318424,local class serialVersionUID = 1]]
at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:254)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:96)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:78)
... 8 more
Caused by: org.springframework.context.ApplicationContextException: Failed to start bean 'Scheduler'; nested exception is org.springframework.scheduling.SchedulingException: Could not start Quartz Scheduler; nested exception is org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested exception: org.quartz.JobPersistenceException: Couldn't store trigger 'aDisable All1602959243757' for 'aDisable All1602959243757' job:com.myapp.application.business.ReviewRecord; local class incompatible: stream classdesc serialVersionUID = 3771195656244318424,local class serialVersionUID = 1]]
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:170)
at org.springframework.context.support.DefaultLifecycleProcessor.access$1(DefaultLifecycleProcessor.java:154)
at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:339)
at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:143)
at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:108)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:926)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:467)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
at io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187)
at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:217)
at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:186)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:252)
... 10 more
Caused by: org.springframework.scheduling.SchedulingException: Could not start Quartz Scheduler; nested exception is org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested exception: org.quartz.JobPersistenceException: Couldn't store trigger 'aDisable All1602959243757' for 'aDisable All1602959243757' job:com.myapp.application.business.ReviewRecord; local class incompatible: stream classdesc serialVersionUID = 3771195656244318424,local class serialVersionUID = 1]]
at org.springframework.scheduling.quartz.SchedulerFactoryBean.start(SchedulerFactoryBean.java:715)
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:167)
... 30 more
Caused by: org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested exception: org.quartz.JobPersistenceException: Couldn't store trigger 'aDisable All1602959243757' for 'aDisable All1602959243757' job:com.myapp.application.business.ReviewRecord; local class incompatible: stream classdesc serialVersionUID = 3771195656244318424,local class serialVersionUID = 1]]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.java:644)
at org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:513)
at org.quartz.impl.StdScheduler.start(StdScheduler.java:143)
at org.springframework.scheduling.quartz.SchedulerFactoryBean.startScheduler(SchedulerFactoryBean.java:649)
at org.springframework.scheduling.quartz.SchedulerFactoryBean.start(SchedulerFactoryBean.java:712)
... 31 more
Caused by: org.quartz.JobPersistenceException: Couldn't store trigger 'aDisable All1602959243757' for 'aDisable All1602959243757' job:com.myapp.application.business.ReviewRecord; local class incompatible: stream classdesc serialVersionUID = 3771195656244318424,local class serialVersionUID = 1]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1270)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.doUpdateOfMisfiredTrigger(JobStoreSupport.java:1035)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:982)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverJobs(JobStoreSupport.java:859)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$2.execute(JobStoreSupport.java:831)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$41.execute(JobStoreSupport.java:3754)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3788)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3750)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverJobs(JobStoreSupport.java:827)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.java:642)
... 35 more
Caused by: java.io.InvalidClassException: com.myapp.application.business.ReviewRecord; local class incompatible: stream classdesc serialVersionUID = 3771195656244318424,local class serialVersionUID = 1
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:699)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。