Java:
public class SignleTaskStart implements InitializingBean {
private ResourceLoaderService resourceLoaderService;
private Scheduler signleTaskStart;
private CronTriggerBean payPointRetryTrigger;
public void init() throws SchedulerException {
if (!readStartFlag()) {
return;
}
try {
signleTaskStart.scheduleJob(payPointRetryTrigger.getJobDetail(), payPointRetryTrigger);
} catch (SchedulerException e) {
logger.error("SignleTaskStart.execute", e);
throw e;
}
logger.info("add pay point service success");
}
public boolean readStartFlag() {
File f = null;
boolean canRun = false;
try {
f = resourceLoaderService.getResourceAsFile("/singleRunFlag/taskrunflag", ResourceOption.NEED_NOT_EXIST);
if (f != null && f.exists()) {
canRun = true;
FileUtils.touch(f);
}
} catch (ResourceNotFoundException e) {
logger.info("pointRecoverFlag file not exist");
} catch (IOException e) {
logger.error("touch file fail", e);
}
return canRun;
}
}
spring-config:
<bean class="com.test.task.point.SignleTaskStart" init-method="init"/> <bean id="signleTaskStart" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="waitForJobsToCompleteOnShutdown" value="true" /> <property name="autoStartup"><value>true</value></property> </bean>