1.pom
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
2.yml
quartz:
interval:
default: 3000
3.config
import com.yulin.wms.syn.jobs.SysPurOrderJob;
import org.quartz.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Value;
@Configuration
public class QuartzConfig {
private String jobGroupName = "jobGroupErp";
private String triGroupName = "triGroupErp";
@Autowired
private Scheduler scheduler;
@PostConstruct
protected void InitHelloJob() throws Exception {
CreatePurOrderJob();
}
@Value("${quartz.interval.default}")
private int Interval_Default;
private void CreatePurOrderJob() throws SchedulerException {
JobDetail jobDetail = CreateJobDetail("jobPurOrder",SysPurOrderJob.class );
Trigger trigger = CreateTrigger("triPurOrder");
scheduler.scheduleJob(jobDetail, trigger);
}
private JobDetail CreateJobDetail(String name, Class <? extends Job> jobClass)
{
JobDetail jobDetail = (JobDetail) JobBuilder.newJob(jobClass)
.withIdentity(name, jobGroupName)
.build();
return jobDetail;
}
private Trigger CreateTrigger(String name){
SimpleScheduleBuilder simpleScheduleBuilder = SimpleScheduleBuilder.simpleSchedule()
.withIntervalInMilliseconds(Interval_Default)
.withRepeatCount(1);
//.repeatForever();
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity(name, triGroupName)
.withSchedule(simpleScheduleBuilder)
.startNow()
.build();
return trigger;
}
}
4.job
import com.yulin.wms.syn.config.WmsRestTemplate;
import com.yulin.wms.syn.mapper.PurOrderContentMapper;
import lombok.extern.slf4j.Slf4j;
import org.quartz.JobExecutionContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
@Slf4j
public class SysPurOrderJob extends AbstractQuartzJob {
@Autowired
private PurOrderContentMapper orderContentMapper;
@Autowired
private WmsRestTemplate restTemplate;
@Override
protected void doExecute(JobExecutionContext context) {
try {
} catch (Exception e) {
String message = "同步ERP采购订单:" + e.getMessage();
log.error(message);
}
}
}