parent
3521172a47
commit
492d720215
@ -1,39 +0,0 @@
|
||||
package com.xxl.job.admin.scheduler.enums;
|
||||
|
||||
import com.xxl.job.admin.util.I18nUtil;
|
||||
|
||||
/**
|
||||
* @author xuxueli 2020-10-29 21:11:23
|
||||
*/
|
||||
public enum MisfireStrategyEnum {
|
||||
|
||||
/**
|
||||
* do nothing
|
||||
*/
|
||||
DO_NOTHING(I18nUtil.getString("misfire_strategy_do_nothing")),
|
||||
|
||||
/**
|
||||
* fire once now
|
||||
*/
|
||||
FIRE_ONCE_NOW(I18nUtil.getString("misfire_strategy_fire_once_now"));
|
||||
|
||||
private String title;
|
||||
|
||||
MisfireStrategyEnum(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public static MisfireStrategyEnum match(String name, MisfireStrategyEnum defaultItem){
|
||||
for (MisfireStrategyEnum item: MisfireStrategyEnum.values()) {
|
||||
if (item.name().equals(name)) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
return defaultItem;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package com.xxl.job.admin.scheduler.misfire;
|
||||
|
||||
/**
|
||||
* Misfire Handler
|
||||
*
|
||||
* @author xuxueli 2020-10-29
|
||||
*/
|
||||
public abstract class MisfireHandler {
|
||||
|
||||
/**
|
||||
* misfire handle
|
||||
*
|
||||
* @param jobId jobId
|
||||
*/
|
||||
public abstract void handle(final int jobId);
|
||||
|
||||
}
|
||||
@ -0,0 +1,54 @@
|
||||
package com.xxl.job.admin.scheduler.misfire;
|
||||
|
||||
import com.xxl.job.admin.scheduler.misfire.strategy.MisfireDoNothing;
|
||||
import com.xxl.job.admin.scheduler.misfire.strategy.MisfireFireOnceNow;
|
||||
import com.xxl.job.admin.util.I18nUtil;
|
||||
|
||||
/**
|
||||
* @author xuxueli 2020-10-29 21:11:23
|
||||
*/
|
||||
public enum MisfireStrategyEnum {
|
||||
|
||||
/**
|
||||
* do nothing
|
||||
*/
|
||||
DO_NOTHING(I18nUtil.getString("misfire_strategy_do_nothing"), new MisfireDoNothing()),
|
||||
|
||||
/**
|
||||
* fire once now
|
||||
*/
|
||||
FIRE_ONCE_NOW(I18nUtil.getString("misfire_strategy_fire_once_now"), new MisfireFireOnceNow());
|
||||
|
||||
private final String title;
|
||||
private final MisfireHandler misfireHandler;
|
||||
|
||||
MisfireStrategyEnum(String title, MisfireHandler misfireHandler) {
|
||||
this.title = title;
|
||||
this.misfireHandler = misfireHandler;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public MisfireHandler getMisfireHandler() {
|
||||
return misfireHandler;
|
||||
}
|
||||
|
||||
/**
|
||||
* match misfire strategy
|
||||
*
|
||||
* @param name name of misfire strategy
|
||||
* @param defaultItem default misfire strategy
|
||||
* @return misfire strategy
|
||||
*/
|
||||
public static MisfireStrategyEnum match(String name, MisfireStrategyEnum defaultItem){
|
||||
for (MisfireStrategyEnum item: MisfireStrategyEnum.values()) {
|
||||
if (item.name().equals(name)) {
|
||||
return item;
|
||||
}
|
||||
}
|
||||
return defaultItem;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package com.xxl.job.admin.scheduler.misfire.strategy;
|
||||
|
||||
import com.xxl.job.admin.scheduler.misfire.MisfireHandler;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class MisfireDoNothing extends MisfireHandler {
|
||||
private static final Logger logger = LoggerFactory.getLogger(MisfireDoNothing.class);
|
||||
|
||||
@Override
|
||||
public void handle(int jobId) {
|
||||
logger.warn(">>>>>>>>>>> xxl-job, schedule MisfireDoNothing: jobId = " + jobId );
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package com.xxl.job.admin.scheduler.misfire.strategy;
|
||||
|
||||
import com.xxl.job.admin.scheduler.config.XxlJobAdminBootstrap;
|
||||
import com.xxl.job.admin.scheduler.misfire.MisfireHandler;
|
||||
import com.xxl.job.admin.scheduler.trigger.TriggerTypeEnum;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
public class MisfireFireOnceNow extends MisfireHandler {
|
||||
protected static Logger logger = LoggerFactory.getLogger(MisfireFireOnceNow.class);
|
||||
|
||||
@Override
|
||||
public void handle(int jobId) {
|
||||
// FIRE_ONCE_NOW 》 trigger
|
||||
XxlJobAdminBootstrap.getInstance().getJobTriggerPoolHelper().trigger(jobId, TriggerTypeEnum.MISFIRE, -1, null, null, null);
|
||||
logger.warn(">>>>>>>>>>> xxl-job, schedule MisfireFireOnceNow: jobId = " + jobId );
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in new issue