Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
熊鹏飞
/
xxljob220
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
c1ca3fbe
authored
Aug 19, 2018
by
xuxueli
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
底层日志组件SimpleDateFormat线程安全问题修复;
parent
4c8190f6
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
46 additions
and
16 deletions
doc/XXL-JOB官方文档.md
xxl-job-core/src/main/java/com/xxl/job/core/log/XxlJobLogger.java
xxl-job-core/src/main/java/com/xxl/job/core/util/DateUtil.java
doc/XXL-JOB官方文档.md
View file @
c1ca3fbe
## 《分
布式任务调度平台XXL-JOB》
## 《分
布式任务调度平台XXL-JOB》
...
@@ -1239,7 +1239,8 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
...
@@ -1239,7 +1239,8 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
-
23、执行器手动设置IP时取消绑定Host的操作,该IP仅供执行器注册使用;修复指定外网IP时无法绑定执行器Host的问题;
-
23、执行器手动设置IP时取消绑定Host的操作,该IP仅供执行器注册使用;修复指定外网IP时无法绑定执行器Host的问题;
-
24、取消父子任务不可重复的限制,支持循环任务触发等特殊场景;
-
24、取消父子任务不可重复的限制,支持循环任务触发等特殊场景;
-
25、任务调度备注中标注任务触发类型,如Cron触发、父任务触发、API触发等等,方便排查调度日志;
-
25、任务调度备注中标注任务触发类型,如Cron触发、父任务触发、API触发等等,方便排查调度日志;
-
26、【迭代中】分片任务失败重试优化,仅重试当前失败的分片;
-
26、底层日志组件SimpleDateFormat线程安全问题修复;
-
27、【迭代中】分片任务失败重试优化,仅重试当前失败的分片;
### TODO LIST
### TODO LIST
...
@@ -1255,17 +1256,16 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
...
@@ -1255,17 +1256,16 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
-
10、Bean模式任务,JobHandler自动从执行器中查询展示为下拉框,选择后自动填充任务名称等属性;
-
10、Bean模式任务,JobHandler自动从执行器中查询展示为下拉框,选择后自动填充任务名称等属性;
-
11、API事件触发类型任务(更类似MQ消息)支持"动态传参、延时消费";该类型任务不走Quartz,单独建立MQ消息表,调度中心竞争触发;待定,该功能与 XXL-MQ 冲突,该场景建议用后者;
-
11、API事件触发类型任务(更类似MQ消息)支持"动态传参、延时消费";该类型任务不走Quartz,单独建立MQ消息表,调度中心竞争触发;待定,该功能与 XXL-MQ 冲突,该场景建议用后者;
-
12、任务依赖增强,新增任务类型 "流程任务",流程节点可挂载普通类型任务,承担任务依赖功能。现有子任务模型取消;需要考虑任务依赖死循环问题;
-
12、任务依赖增强,新增任务类型 "流程任务",流程节点可挂载普通类型任务,承担任务依赖功能。现有子任务模型取消;需要考虑任务依赖死循环问题;
-
13、分片任务某一分片失败,支持分片转移;
-
13、调度中心触发任务后,先推送触发队列,异步触发,然后立即返回。降低quartz线程占用时长。
-
14、调度中心触发任务后,先推送触发队列,异步触发,然后立即返回。降低quartz线程占用时长。
-
14、任务告警逻辑调整:任务调度,以及任务回调失败时,均推送监控队列。后期考虑通过任务Log字段控制告警状态;
-
15、任务告警逻辑调整:任务调度,以及任务回调失败时,均推送监控队列。后期考虑通过任务Log字段控制告警状态;
-
15、新增任务默认运行状态,任务更新时运行状态保持不变;
-
16、新增任务默认运行状态,任务更新时运行状态保持不变;
-
16、提供多版本执行器:不依赖容器版本、不内嵌Jetty版本(通过配置executoraddress替换jetty通讯)等;
-
17、提供多版本执行器:不依赖容器版本、不内嵌Jetty版本(通过配置executoraddress替换jetty通讯)等;
-
17、注册中心支持扩展,除默认基于DB之外,支持扩展接入第三方注册中心如zk、eureka等;
-
18、注册中心支持扩展,除默认基于DB之外,支持扩展接入第三方注册中心如zk、eureka等;
-
18、流程任务,支持参数传递;
-
19、流程任务,支持参数传递;
-
19、SimpleTrigger 支持;
-
20、SimpleTrigger 支持;
-
20、支持通过API服务操作任务信息;
-
21、支持通过API服务操作任务信息;
-
21、调度线程池改为协程方式实现,大幅降低系统内存消耗;
-
22、调度线程池改为协程方式实现,大幅降低系统内存消耗;
-
22、API任务触发时支持动态传参;
-
23、API任务触发时支持动态传参;
## 七、其他
## 七、其他
...
...
xxl-job-core/src/main/java/com/xxl/job/core/log/XxlJobLogger.java
View file @
c1ca3fbe
package
com
.
xxl
.
job
.
core
.
log
;
package
com
.
xxl
.
job
.
core
.
log
;
import
com.xxl.job.core.util.DateUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.helpers.FormattingTuple
;
import
org.slf4j.helpers.FormattingTuple
;
...
@@ -7,7 +8,6 @@ import org.slf4j.helpers.MessageFormatter;
...
@@ -7,7 +8,6 @@ import org.slf4j.helpers.MessageFormatter;
import
java.io.PrintWriter
;
import
java.io.PrintWriter
;
import
java.io.StringWriter
;
import
java.io.StringWriter
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.Date
;
/**
/**
...
@@ -15,7 +15,6 @@ import java.util.Date;
...
@@ -15,7 +15,6 @@ import java.util.Date;
*/
*/
public
class
XxlJobLogger
{
public
class
XxlJobLogger
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
"xxl-job logger"
);
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
"xxl-job logger"
);
private
static
SimpleDateFormat
xxlJobLoggerFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
// TODO,concurrent issue
/**
/**
* append log
* append log
...
@@ -31,7 +30,7 @@ public class XxlJobLogger {
...
@@ -31,7 +30,7 @@ public class XxlJobLogger {
StackTraceElement callInfo = stackTraceElements[1];*/
StackTraceElement callInfo = stackTraceElements[1];*/
StringBuffer
stringBuffer
=
new
StringBuffer
();
StringBuffer
stringBuffer
=
new
StringBuffer
();
stringBuffer
.
append
(
xxlJobLoggerFormat
.
format
(
new
Date
())).
append
(
" "
)
stringBuffer
.
append
(
DateUtil
.
format
(
new
Date
())).
append
(
" "
)
.
append
(
"["
+
callInfo
.
getClassName
()
+
"#"
+
callInfo
.
getMethodName
()
+
"]"
).
append
(
"-"
)
.
append
(
"["
+
callInfo
.
getClassName
()
+
"#"
+
callInfo
.
getMethodName
()
+
"]"
).
append
(
"-"
)
.
append
(
"["
+
callInfo
.
getLineNumber
()
+
"]"
).
append
(
"-"
)
.
append
(
"["
+
callInfo
.
getLineNumber
()
+
"]"
).
append
(
"-"
)
.
append
(
"["
+
Thread
.
currentThread
().
getName
()
+
"]"
).
append
(
" "
)
.
append
(
"["
+
Thread
.
currentThread
().
getName
()
+
"]"
).
append
(
" "
)
...
...
xxl-job-core/src/main/java/com/xxl/job/core/util/DateUtil.java
0 → 100644
View file @
c1ca3fbe
package
com
.
xxl
.
job
.
core
.
util
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
/**
* date util
*
* @author xuxueli 2018-08-19 01:24:11
*/
public
class
DateUtil
{
private
static
final
String
DATE_FORMAT
=
"yyyy-MM-dd HH:mm:ss"
;
private
static
ThreadLocal
<
SimpleDateFormat
>
threadLocal
=
new
ThreadLocal
<
SimpleDateFormat
>()
{
@Override
protected
synchronized
SimpleDateFormat
initialValue
()
{
//return super.initialValue();
return
new
SimpleDateFormat
(
DATE_FORMAT
);
}
};
public
static
String
format
(
Date
date
)
{
return
threadLocal
.
get
().
format
(
date
);
}
public
static
Date
parse
(
String
textDate
)
throws
ParseException
{
return
threadLocal
.
get
().
parse
(
textDate
);
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment