Quartz调度程序在计划的时间内同时执行多次

时间:2018-03-31 18:48:29

标签: java multithreading spring-boot weblogic quartz-scheduler

我在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。但仍然没有运气。请注意你的想法。

0 个答案:

没有答案