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.
91 lines
4.0 KiB
91 lines
4.0 KiB
3 years ago
|
/*
|
||
|
* 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;
|
||
|
|
||
|
/**
|
||
|
* <Function Description><br>
|
||
|
* <SsoUserScheduleHelper>
|
||
|
*
|
||
|
* @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() {
|
||
|
}
|
||
|
}
|
||
|
}
|