我在spring boot应用程序中使用了quartz scheduler。我使用java编程调度而不是基于弹簧的注释。这是片段
Scheduler scheduler =
StdSchedulerFactory.getDefaultScheduler();
JobDetail jobDetail = newJob(ExPJob.class) .build();
CronScheduleBuilder cronSchedule =
cronSchedule (mycronExpression)
.withMisfireHandlingInstructionDoNothing();
我正在关闭这个吼叫
@PreDestroy
Public void shutdownSch(){
Scheduler scheduler =
StdSchedulerFactory.getDefaultScheduler();
scheduler.shutdown();
}
我的问题是什么? - 如果我为我的app.war进行重新/部署,在Weblogic线程池中不会被杀死,并且在调度程序启动后, 它创建了另一个线程池。
例如:如果我在下午4点安排一个cron Job,那么很多工作都会在同一时间开始。我试图在Linux框中找到PID我没有得到任何regd这个僵尸线程。
尝试了哪些解决方案? - 我可以通过jobkeys成功杀死工作 scheduler.deletejob(jobKey)。
那为什么问题仍然存在? - 我之前没有上面提到的工作查杀代码,我做了一系列的部署。 所以,我怀疑那些作业/线程已经在JVM中运行了。我尝试通过MWare人员通过控制台重新启动weblogic。但仍然没有运气。请注意你的想法。