package com.fr.plugin.fg.auth; import com.fr.log.FineLoggerFactory; import com.fr.scheduler.QuartzContext; import com.fr.scheduler.ScheduleJobManager; import com.fr.third.v2.org.quartz.JobKey; import com.fr.third.v2.org.quartz.SimpleScheduleBuilder; import com.fr.third.v2.org.quartz.TriggerBuilder; import java.util.Map; public class TempAuthSyncSchedule { private static Long syncTime = 10000L; private static String scheduleName = "FGTempAuthSync"; public static void startSchedule(String jobName, String jobGroup, Map parameters) throws Exception { JobKey jobKey = new JobKey(jobName, jobGroup); if (QuartzContext.getInstance().getScheduler().checkExists(jobKey)) { ScheduleJobManager.getInstance().removeJob(jobKey.getName(), jobKey.getGroup()); } TriggerBuilder triggerBuilder = TriggerBuilder.newTrigger(); triggerBuilder.forJob(jobKey.getName(), jobKey.getGroup()) .withIdentity(jobKey.getName(), jobKey.getGroup()) .startNow(); SimpleScheduleBuilder schedule = SimpleScheduleBuilder.simpleSchedule(); schedule.withMisfireHandlingInstructionNextWithExistingCount(); schedule.withIntervalInMilliseconds(syncTime); schedule.repeatForever(); triggerBuilder.withSchedule(schedule); ScheduleJobManager.getInstance().addJob( jobKey.getName(), jobKey.getGroup(), scheduleName, TempAuthSyncJob.class, triggerBuilder.build(), parameters); FineLoggerFactory.getLogger().info("FGAuth:定时任务已启动完成,执行频率为 " + syncTime/1000 + "秒"); } }