master
xuxueli 7 years ago
parent a3f1672ab3
commit 029433c351
  1. 19
      doc/XXL-JOB官方文档.md
  2. 5
      xxl-job-core/src/main/java/com/xxl/job/core/log/XxlJobFileAppender.java

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

@ -18,7 +18,6 @@ public class XxlJobFileAppender {
// for JobThread (support log for child thread of job handler)
//public static ThreadLocal<String> contextHolder = new ThreadLocal<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/";
/**
@ -37,6 +36,8 @@ public class XxlJobFileAppender {
}
// filePath/yyyy-MM-dd/
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // avoid concurrent problem, can not be static
String nowFormat = sdf.format(new Date());
File filePathDateDir = new File(filePathDir, nowFormat);
if (!filePathDateDir.exists()) {
@ -44,7 +45,7 @@ public class XxlJobFileAppender {
}
// 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;
}

Loading…
Cancel
Save