v1.8.2
xuxueli 7 years ago
parent a3f1672ab3
commit 029433c351

@ -998,15 +998,16 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
- 11、统一maven依赖版本管理 - 11、统一maven依赖版本管理
### 6.18 版本 V1.8.2 特性[Coding] ### 6.18 版本 V1.8.2 特性[Coding]
- 1、解决执行器回调URL不支持配置HTTPS时问题 - 1、项目主页搭建提供中英文文档http://www.xuxueli.com/xxl-job
- 2、规范项目目录方便扩展多执行器 - 2、JFinal执行器Sample示例项目
- 3、新增JFinal类型执行器sample示例项目 - 3、事件触发除了"Cron方式"和"任务依赖方式"触发任务执行之外支持基于事件的触发任务方式。调度中心提供触发任务单次执行的API服务可根据业务事件灵活触发。
- 4、执行器手动设置IP时将会绑定Host - 4、执行器摘除执行器销毁时主动通知调度中心并摘除对应执行器节点提高执行器状态感知的时效性。
- 5、项目主页搭建提供中英文文档(http://www.xuxueli.com/xxl-job) - 5、执行器手动设置IP时将会绑定Host
- 6、执行器回调线程销毁前, 批量回调队列中数据,防止任务结果丢失; - 6、规范项目目录方便扩展多执行器
- 7、执行器摘除执行器销毁时主动通知调度中心并摘除对应执行器节点提高执行器状态感知的时效性。 - 7、解决执行器回调URL不支持配置HTTPS时问题
- 8、调度中心任务监控线程销毁时批量对失败任务告警防止告警信息丢失 - 8、执行器回调线程销毁前, 批量回调队列中数据,防止任务结果丢失;
- 9、事件触发除了"Cron方式"和"任务依赖方式"触发任务执行之外支持基于事件的触发任务方式。调度中心提供触发任务单次执行的API服务可根据业务事件灵活触发。 - 9、调度中心任务监控线程销毁时批量对失败任务告警防止告警信息丢失
- 10、任务日志文件路径时间戳格式化时SimpleDateFormat并发问题解决
### TODO LIST ### TODO LIST
- 1、任务权限管理执行器为粒度分配权限核心操作校验权限 - 1、任务权限管理执行器为粒度分配权限核心操作校验权限

@ -18,7 +18,6 @@ public class XxlJobFileAppender {
// for JobThread (support log for child thread of job handler) // for JobThread (support log for child thread of job handler)
//public static ThreadLocal<String> contextHolder = new ThreadLocal<String>(); //public static ThreadLocal<String> contextHolder = new ThreadLocal<String>();
public static final InheritableThreadLocal<String> contextHolder = new InheritableThreadLocal<String>(); public static final InheritableThreadLocal<String> contextHolder = new InheritableThreadLocal<String>();
public static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // TODO, concurrent issues
public static String logPath = "/data/applogs/xxl-job/jobhandler/"; public static String logPath = "/data/applogs/xxl-job/jobhandler/";
/** /**
@ -37,6 +36,8 @@ public class XxlJobFileAppender {
} }
// filePath/yyyy-MM-dd/ // filePath/yyyy-MM-dd/
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // avoid concurrent problem, can not be static
String nowFormat = sdf.format(new Date()); String nowFormat = sdf.format(new Date());
File filePathDateDir = new File(filePathDir, nowFormat); File filePathDateDir = new File(filePathDir, nowFormat);
if (!filePathDateDir.exists()) { if (!filePathDateDir.exists()) {
@ -44,7 +45,7 @@ public class XxlJobFileAppender {
} }
// filePath/yyyy-MM-dd/9999.log // filePath/yyyy-MM-dd/9999.log
String logFileName = XxlJobFileAppender.sdf.format(triggerDate).concat("/").concat(String.valueOf(logId)).concat(".log"); String logFileName = sdf.format(triggerDate).concat("/").concat(String.valueOf(logId)).concat(".log");
return logFileName; return logFileName;
} }

Loading…
Cancel
Save