package com.vip.saturn.job.basic; import java.util.HashMap; import java.util.Map; import com.vip.saturn.job.SaturnJobReturn; import com.vip.saturn.job.internal.config.JobConfiguration; /** * Saturn的作业运行上下文 * @author dylan.xue */ public class SaturnExecutionContext extends JobExecutionMultipleShardingContext { private static int initCollectionSize = 64; /** * 是否为集成Saturn的作业类型 */ private boolean saturnJob = false; /** * Job超时时间(秒) */ private int timetoutSeconds; /** * 运行在本作业项的分片序列号和运行结果. */ private Map<Integer, SaturnJobReturn> shardingItemResults = new HashMap<>(initCollectionSize); /** * 作业运行日志, key为分片项 */ private Map<Integer,String> jobLogMap = new HashMap<>(); /** * 作业配置类 */ private JobConfiguration jobConfiguration; private String namespace; private String executorName; private Class<?> jobClass; public String getJobLog(Integer slice) { return jobLogMap.get(slice); } public void putJobLog(Integer slice, String jobLog) { jobLogMap.put(slice, jobLog); } public static int getInitCollectionSize() { return initCollectionSize; } public static void setInitCollectionSize(int initCollectionSize) { SaturnExecutionContext.initCollectionSize = initCollectionSize; } public boolean isSaturnJob() { return saturnJob; } public void setSaturnJob(boolean saturnJob) { this.saturnJob = saturnJob; } public int getTimetoutSeconds() { return timetoutSeconds; } public void setTimetoutSeconds(int timetoutSeconds) { this.timetoutSeconds = timetoutSeconds; } public Map<Integer, SaturnJobReturn> getShardingItemResults() { return shardingItemResults; } public void setShardingItemResults(Map<Integer, SaturnJobReturn> shardingItemResults) { this.shardingItemResults = shardingItemResults; } public Map<Integer, String> getJobLogMap() { return jobLogMap; } public void setJobLogMap(Map<Integer, String> jobLogMap) { this.jobLogMap = jobLogMap; } public JobConfiguration getJobConfiguration() { return jobConfiguration; } public void setJobConfiguration(JobConfiguration jobConfiguration) { this.jobConfiguration = jobConfiguration; } public String getNamespace() { return namespace; } public void setNamespace(String namespace) { this.namespace = namespace; } public String getExecutorName() { return executorName; } public void setExecutorName(String executorName) { this.executorName = executorName; } public Class<?> getJobClass() { return jobClass; } public void setJobClass(Class<?> jobClass) { this.jobClass = jobClass; } }