package com.xxl.job.core.context; /** * xxl-job context * * @author xuxueli 2020-05-21 * [Dear hj] */ public class XxlJobContext { public static final int HANDLE_COCE_SUCCESS = 200; public static final int HANDLE_COCE_FAIL = 500; public static final int HANDLE_COCE_TIMEOUT = 502; // ---------------------- base info ---------------------- /** * job id */ private final long jobId; /** * job param */ private final String jobParam; // ---------------------- for log ---------------------- /** * job log filename */ private final String jobLogFileName; // ---------------------- for shard ---------------------- /** * shard index */ private final int shardIndex; /** * shard total */ private final int shardTotal; // ---------------------- for handle ---------------------- /** * handleCode:The result status of job execution * * 200 : success * 500 : fail * 502 : timeout * */ private int handleCode; /** * handleMsg:The simple log msg of job execution */ private String handleMsg; public XxlJobContext(long jobId, String jobParam, String jobLogFileName, int shardIndex, int shardTotal) { this.jobId = jobId; this.jobParam = jobParam; this.jobLogFileName = jobLogFileName; this.shardIndex = shardIndex; this.shardTotal = shardTotal; this.handleCode = HANDLE_COCE_SUCCESS; // default success } public long getJobId() { return jobId; } public String getJobParam() { return jobParam; } public String getJobLogFileName() { return jobLogFileName; } public int getShardIndex() { return shardIndex; } public int getShardTotal() { return shardTotal; } public void setHandleCode(int handleCode) { this.handleCode = handleCode; } public int getHandleCode() { return handleCode; } public void setHandleMsg(String handleMsg) { this.handleMsg = handleMsg; } public String getHandleMsg() { return handleMsg; } // ---------------------- tool ---------------------- private static InheritableThreadLocal contextHolder = new InheritableThreadLocal(); // support for child thread of job handler) public static void setXxlJobContext(XxlJobContext xxlJobContext){ contextHolder.set(xxlJobContext); } public static XxlJobContext getXxlJobContext(){ return contextHolder.get(); } }