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.
90 lines
4.0 KiB
90 lines
4.0 KiB
/* |
|
* 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() { |
|
} |
|
} |
|
}
|
|
|