You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.7 KiB
45 lines
1.7 KiB
2 years ago
|
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<String, Object> 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 + "秒");
|
||
|
}
|
||
|
}
|