/* * Copyright (C), 2018-2021 * Project: starter * FileName: SsoUserScheduleHelper * Author: Louis * Date: 2021/4/21 15:52 */ package com.fr.plugin.hdmu.helper; import com.fr.plugin.hdmu.bean.SsoUserJobConstructor; import com.fr.plugin.hdmu.job.SsoUserCheckIamJob; import com.fr.plugin.hdmu.job.SsoUserSyncMemberJob; import com.fr.scheduler.ScheduleJobManager; import com.fr.third.v2.org.quartz.CronScheduleBuilder; import com.fr.third.v2.org.quartz.TriggerBuilder; import java.util.ArrayList; import java.util.HashMap; import java.util.TimeZone; /** *
* * * @author fr.open * @since 1.0.0 */ public class SsoUserScheduleHelper { public static final String SSO_USER_SCHEDULE_SYN_MEMBER_JOB_NAME = "MqhSsoUserSynDepMemberJob"; public static final String SSO_USER_SCHEDULE_SYN_MEMBER_TRIGGER_NAME = "MqhSsoUserSynDepMemberTrigger"; public static final String SSO_USER_SCHEDULE_SYN_MEMBER_GROUP = "MqhSsoUserSynDepMemberGroup"; public static final String SSO_USER_SCHEDULE_SYN_MEMBER_TRIGGER_GROUP = "MqhSsoUserSynDepMemberTriggerGroup"; public static final String SSO_USER_SCHEDULE_CHECK_IAM_JOB_NAME = "MqhSsoUserCheckIamJob"; public static final String SSO_USER_SCHEDULE_CHECK_IAM_TRIGGER_NAME = "MqhSsoUserCheckIamTrigger"; public static final String SSO_USER_SCHEDULE_CHECK_IAM_GROUP = "MqhSsoUserCheckIamGroup"; public static final String SSO_USER_SCHEDULE_CHECK_IAM_TRIGGER_GROUP = "MqhSsoUserCheckIamTriggerGroup"; private SsoUserScheduleHelper() { } public static SsoUserScheduleHelper getInstance() { return HOLDER.INSTANCE; } public void startCheckIamSchedule(String cronCondition) throws Exception { SsoUserJobConstructor jobConstructor = (new SsoUserJobConstructor()) .cron(cronCondition).jobName(SSO_USER_SCHEDULE_CHECK_IAM_JOB_NAME) .jobGroup(SSO_USER_SCHEDULE_CHECK_IAM_GROUP).triggerName(SSO_USER_SCHEDULE_CHECK_IAM_TRIGGER_NAME) .triggerGroup(SSO_USER_SCHEDULE_CHECK_IAM_TRIGGER_GROUP).jobClazz(SsoUserCheckIamJob.class); this.startSchedule(jobConstructor); } public void startSynMemberSchedule(String cronCondition) throws Exception { SsoUserJobConstructor jobConstructor = (new SsoUserJobConstructor()) .cron(cronCondition).jobName(SSO_USER_SCHEDULE_SYN_MEMBER_JOB_NAME) .jobGroup(SSO_USER_SCHEDULE_SYN_MEMBER_GROUP).triggerName(SSO_USER_SCHEDULE_SYN_MEMBER_TRIGGER_NAME) .triggerGroup(SSO_USER_SCHEDULE_SYN_MEMBER_TRIGGER_GROUP).jobClazz(SsoUserSyncMemberJob.class); this.startSchedule(jobConstructor); } public void startSchedule(SsoUserJobConstructor var1) throws Exception { if (var1 != null) { String var2 = var1.getCron(); String var3 = var1.getTriggerName(); String var4 = var1.getTriggerGroup(); String var5 = var1.getJobName(); String var6 = var1.getJobGroup(); Class var7 = var1.getJobClazz(); TriggerBuilder var8 = TriggerBuilder.newTrigger(); var8.withIdentity(var3, var4); var8.withSchedule(CronScheduleBuilder.cronSchedule(var2).withMisfireHandlingInstructionFireAndProceed().inTimeZone(TimeZone.getTimeZone(TimeZone.getDefault().getID()))).startNow(); var8.forJob(var5, var6); ArrayList var9 = new ArrayList(); var9.add(var8.build()); ScheduleJobManager.getInstance().removeJob(var5, var6); ScheduleJobManager.getInstance().addJob(var5, var6, "jobDescription", var7, var9, new HashMap()); } } public void stopSchedule(String var1, String var2) { ScheduleJobManager.getInstance().removeJob(var1, var2); } public static class HOLDER { private static final SsoUserScheduleHelper INSTANCE = new SsoUserScheduleHelper(); public HOLDER() { } } }