
top.zeimao77.product.jobs.DelegatingHandlerComponent Maven / Gradle / Ivy
package top.zeimao77.product.jobs;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 顺序的处理器组件
* 对于一个任务,将使用处理器顺序处理该任务
* @param
*/
public class DelegatingHandlerComponent extends JobExecHandler {
private static Logger logger = LoggerFactory.getLogger(DelegatingHandlerComponent.class);
private List> jobExecHandlerList = new ArrayList<>();
@Override
public boolean support(T job, Map param) {
return true;
}
@Override
public Result doHandle(T job, Map param) {
for (JobExecHandler tJobExecHandler : jobExecHandlerList) {
tJobExecHandler.handle(job,param);
}
return Result.SUCCESS;
}
public boolean register(JobExecHandler jobExecHandler) {
return this.jobExecHandlerList.add(jobExecHandler);
}
public boolean unregister(JobExecHandler jobExecHandler) {
return this.jobExecHandlerList.remove(jobExecHandler);
}
public JobExecHandler unregister(int index) {
return this.jobExecHandlerList.remove(index);
}
@Override
public void successed(T job, Map param, Result result) {}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy