我有一个工作应用程序,其中包含几个cron作业和两个简单触发的作业。
我有两个依赖项
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.1.6</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-weblogic</artifactId>
<version>2.1.6</version>
</dependency>
我想迁移到2.3.1石英,因此我只留下了一个依赖项
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.1</version>
</dependency>
迁移后,即当我启动应用程序时,更新的pom文件没有执行,我的简单触发器没有执行。
这是我的:
启动时在Singleton类中的ScheduledFactory:
Properties properties = new Properties();
properties.load(inputStream);
StdSchedulerFactory schedulerFactory = new StdSchedulerFactory();
schedulerFactory.initialize(properties);
Scheduler scheduler = schedulerFactory.getScheduler();
scheduler.start();
职位创建:
JobDetail requestLauncherJob = newJob(RequestLauncherJob.class).withIdentity(REQUEST_LAUNCHER_JOB,LAUNCHERS).storeDurably().requestRecovery(true)
scheduler.addJob(requestLauncherJob,true);
.build();
触发器创建:
int delayInSecondsForRequest = TimeoutHandlerUtils.getDelayInSecondsForRequest(request);
Trigger trigger = newTrigger().withIdentity(String.valueOf(System.currentTimeMillis()),String.valueOf(request.getId()))
.usingJobdata("retryCount",retryCount).usingJobdata("requestId",request.getId())
.startAt(futureDate(delayInSecondsForRequest,IntervalUnit.SECOND)).forJob(jobKey(jobKey,QuartzSingletonBean.LAUNCHERS)).build();
scheduler.scheduleJob(trigger);
我的属性文件:
org.quartz.scheduler.instanceName = MyScheduler
org.quartz.threadPool.threadCount = 15
org.quartz.jobStore.isClustered = true
org.quartz.scheduler.instanceId = AUTO
org.quartz.scheduler.batchTriggerAcquisitionmaxCount=10
org.quartz.jobStore.driverDelegateclass = org.quartz.impl.jdbcjobstore.weblogicDelegate
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreCMT
org.quartz.jobStore.dataSource = myapp
org.quartz.jobStore.nonmanagedTXDataSource = myQuartz
org.quartz.dataSource.jagate.jndiURL = datasources.myapp
org.quartz.dataSource.jagateQuartz.jndiURL = datasources.myapp-quartz
org.quartz.jobStore.tablePrefix = QRTZ_