Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
40607e44
提交
40607e44
authored
7月 06, 2019
作者:
xuxueli
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
代码优化,ConcurrentHashMap变量类型改为ConcurrentMap,避免因不同版本实现不同导致的兼容性问题;
上级
174f5cfb
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
15 行增加
和
8 行删除
+15
-8
XXL-JOB官方文档.md
doc/XXL-JOB官方文档.md
+1
-0
XxlJobScheduler.java
...ain/java/com/xxl/job/admin/core/conf/XxlJobScheduler.java
+2
-1
ExecutorRouteLFU.java
...m/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java
+2
-1
ExecutorRouteLRU.java
...m/xxl/job/admin/core/route/strategy/ExecutorRouteLRU.java
+2
-1
ExecutorRouteRound.java
...xxl/job/admin/core/route/strategy/ExecutorRouteRound.java
+2
-1
JobTriggerPoolHelper.java
...a/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java
+1
-1
XxlJobExecutor.java
...c/main/java/com/xxl/job/core/executor/XxlJobExecutor.java
+3
-2
GlueFactory.java
...core/src/main/java/com/xxl/job/core/glue/GlueFactory.java
+2
-1
没有找到文件。
doc/XXL-JOB官方文档.md
浏览文件 @
40607e44
...
@@ -1503,6 +1503,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
...
@@ -1503,6 +1503,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
-
16、任务日志主键调整为long,防止海量日志情况下数据溢出;
-
16、任务日志主键调整为long,防止海量日志情况下数据溢出;
-
17、任务日志列表交互优化,操作按钮合并为分割按钮;
-
17、任务日志列表交互优化,操作按钮合并为分割按钮;
-
18、HttpJobHandler优化,响应数据指定UTF-8格式,避免中文乱码;
-
18、HttpJobHandler优化,响应数据指定UTF-8格式,避免中文乱码;
-
19、代码优化,ConcurrentHashMap变量类型改为ConcurrentMap,避免因不同版本实现不同导致的兼容性问题;
### 6.26 版本 v2.1.1 Release Notes[规划中]
### 6.26 版本 v2.1.1 Release Notes[规划中]
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/conf/XxlJobScheduler.java
浏览文件 @
40607e44
...
@@ -27,6 +27,7 @@ import javax.servlet.http.HttpServletRequest;
...
@@ -27,6 +27,7 @@ import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentMap
;
/**
/**
* @author xuxueli 2018-10-28 00:18:17
* @author xuxueli 2018-10-28 00:18:17
...
@@ -112,7 +113,7 @@ public class XxlJobScheduler implements InitializingBean, DisposableBean {
...
@@ -112,7 +113,7 @@ public class XxlJobScheduler implements InitializingBean, DisposableBean {
// ---------------------- executor-client ----------------------
// ---------------------- executor-client ----------------------
private
static
Concurrent
Hash
Map
<
String
,
ExecutorBiz
>
executorBizRepository
=
new
ConcurrentHashMap
<
String
,
ExecutorBiz
>();
private
static
ConcurrentMap
<
String
,
ExecutorBiz
>
executorBizRepository
=
new
ConcurrentHashMap
<
String
,
ExecutorBiz
>();
public
static
ExecutorBiz
getExecutorBiz
(
String
address
)
throws
Exception
{
public
static
ExecutorBiz
getExecutorBiz
(
String
address
)
throws
Exception
{
// valid
// valid
if
(
address
==
null
||
address
.
trim
().
length
()==
0
)
{
if
(
address
==
null
||
address
.
trim
().
length
()==
0
)
{
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java
浏览文件 @
40607e44
...
@@ -6,6 +6,7 @@ import com.xxl.job.core.biz.model.TriggerParam;
...
@@ -6,6 +6,7 @@ import com.xxl.job.core.biz.model.TriggerParam;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentMap
;
/**
/**
* 单个JOB对应的每个执行器,使用频率最低的优先被选举
* 单个JOB对应的每个执行器,使用频率最低的优先被选举
...
@@ -16,7 +17,7 @@ import java.util.concurrent.ConcurrentHashMap;
...
@@ -16,7 +17,7 @@ import java.util.concurrent.ConcurrentHashMap;
*/
*/
public
class
ExecutorRouteLFU
extends
ExecutorRouter
{
public
class
ExecutorRouteLFU
extends
ExecutorRouter
{
private
static
Concurrent
Hash
Map
<
Integer
,
HashMap
<
String
,
Integer
>>
jobLfuMap
=
new
ConcurrentHashMap
<
Integer
,
HashMap
<
String
,
Integer
>>();
private
static
ConcurrentMap
<
Integer
,
HashMap
<
String
,
Integer
>>
jobLfuMap
=
new
ConcurrentHashMap
<
Integer
,
HashMap
<
String
,
Integer
>>();
private
static
long
CACHE_VALID_TIME
=
0
;
private
static
long
CACHE_VALID_TIME
=
0
;
public
String
route
(
int
jobId
,
List
<
String
>
addressList
)
{
public
String
route
(
int
jobId
,
List
<
String
>
addressList
)
{
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLRU.java
浏览文件 @
40607e44
...
@@ -8,6 +8,7 @@ import java.util.ArrayList;
...
@@ -8,6 +8,7 @@ import java.util.ArrayList;
import
java.util.LinkedHashMap
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentMap
;
/**
/**
* 单个JOB对应的每个执行器,最久为使用的优先被选举
* 单个JOB对应的每个执行器,最久为使用的优先被选举
...
@@ -18,7 +19,7 @@ import java.util.concurrent.ConcurrentHashMap;
...
@@ -18,7 +19,7 @@ import java.util.concurrent.ConcurrentHashMap;
*/
*/
public
class
ExecutorRouteLRU
extends
ExecutorRouter
{
public
class
ExecutorRouteLRU
extends
ExecutorRouter
{
private
static
Concurrent
Hash
Map
<
Integer
,
LinkedHashMap
<
String
,
String
>>
jobLRUMap
=
new
ConcurrentHashMap
<
Integer
,
LinkedHashMap
<
String
,
String
>>();
private
static
ConcurrentMap
<
Integer
,
LinkedHashMap
<
String
,
String
>>
jobLRUMap
=
new
ConcurrentHashMap
<
Integer
,
LinkedHashMap
<
String
,
String
>>();
private
static
long
CACHE_VALID_TIME
=
0
;
private
static
long
CACHE_VALID_TIME
=
0
;
public
String
route
(
int
jobId
,
List
<
String
>
addressList
)
{
public
String
route
(
int
jobId
,
List
<
String
>
addressList
)
{
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRound.java
浏览文件 @
40607e44
...
@@ -7,13 +7,14 @@ import com.xxl.job.core.biz.model.TriggerParam;
...
@@ -7,13 +7,14 @@ import com.xxl.job.core.biz.model.TriggerParam;
import
java.util.List
;
import
java.util.List
;
import
java.util.Random
;
import
java.util.Random
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentMap
;
/**
/**
* Created by xuxueli on 17/3/10.
* Created by xuxueli on 17/3/10.
*/
*/
public
class
ExecutorRouteRound
extends
ExecutorRouter
{
public
class
ExecutorRouteRound
extends
ExecutorRouter
{
private
static
Concurrent
Hash
Map
<
Integer
,
Integer
>
routeCountEachJob
=
new
ConcurrentHashMap
<
Integer
,
Integer
>();
private
static
ConcurrentMap
<
Integer
,
Integer
>
routeCountEachJob
=
new
ConcurrentHashMap
<
Integer
,
Integer
>();
private
static
long
CACHE_VALID_TIME
=
0
;
private
static
long
CACHE_VALID_TIME
=
0
;
private
static
int
count
(
int
jobId
)
{
private
static
int
count
(
int
jobId
)
{
// cache clear
// cache clear
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java
浏览文件 @
40607e44
...
@@ -49,7 +49,7 @@ public class JobTriggerPoolHelper {
...
@@ -49,7 +49,7 @@ public class JobTriggerPoolHelper {
// job timeout count
// job timeout count
private
volatile
long
minTim
=
System
.
currentTimeMillis
()/
60000
;
// ms > min
private
volatile
long
minTim
=
System
.
currentTimeMillis
()/
60000
;
// ms > min
private
volatile
Concurrent
Hash
Map
<
Integer
,
AtomicInteger
>
jobTimeoutCountMap
=
new
ConcurrentHashMap
<>();
private
volatile
ConcurrentMap
<
Integer
,
AtomicInteger
>
jobTimeoutCountMap
=
new
ConcurrentHashMap
<>();
/**
/**
...
...
xxl-job-core/src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java
浏览文件 @
40607e44
...
@@ -24,6 +24,7 @@ import org.slf4j.LoggerFactory;
...
@@ -24,6 +24,7 @@ import org.slf4j.LoggerFactory;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentMap
;
/**
/**
* Created by xuxueli on 2016/3/2 21:14.
* Created by xuxueli on 2016/3/2 21:14.
...
@@ -223,7 +224,7 @@ public class XxlJobExecutor {
...
@@ -223,7 +224,7 @@ public class XxlJobExecutor {
// ---------------------- job handler repository ----------------------
// ---------------------- job handler repository ----------------------
private
static
Concurrent
Hash
Map
<
String
,
IJobHandler
>
jobHandlerRepository
=
new
ConcurrentHashMap
<
String
,
IJobHandler
>();
private
static
ConcurrentMap
<
String
,
IJobHandler
>
jobHandlerRepository
=
new
ConcurrentHashMap
<
String
,
IJobHandler
>();
public
static
IJobHandler
registJobHandler
(
String
name
,
IJobHandler
jobHandler
){
public
static
IJobHandler
registJobHandler
(
String
name
,
IJobHandler
jobHandler
){
logger
.
info
(
">>>>>>>>>>> xxl-job register jobhandler success, name:{}, jobHandler:{}"
,
name
,
jobHandler
);
logger
.
info
(
">>>>>>>>>>> xxl-job register jobhandler success, name:{}, jobHandler:{}"
,
name
,
jobHandler
);
return
jobHandlerRepository
.
put
(
name
,
jobHandler
);
return
jobHandlerRepository
.
put
(
name
,
jobHandler
);
...
@@ -234,7 +235,7 @@ public class XxlJobExecutor {
...
@@ -234,7 +235,7 @@ public class XxlJobExecutor {
// ---------------------- job thread repository ----------------------
// ---------------------- job thread repository ----------------------
private
static
Concurrent
Hash
Map
<
Integer
,
JobThread
>
jobThreadRepository
=
new
ConcurrentHashMap
<
Integer
,
JobThread
>();
private
static
ConcurrentMap
<
Integer
,
JobThread
>
jobThreadRepository
=
new
ConcurrentHashMap
<
Integer
,
JobThread
>();
public
static
JobThread
registJobThread
(
int
jobId
,
IJobHandler
handler
,
String
removeOldReason
){
public
static
JobThread
registJobThread
(
int
jobId
,
IJobHandler
handler
,
String
removeOldReason
){
JobThread
newJobThread
=
new
JobThread
(
jobId
,
handler
);
JobThread
newJobThread
=
new
JobThread
(
jobId
,
handler
);
newJobThread
.
start
();
newJobThread
.
start
();
...
...
xxl-job-core/src/main/java/com/xxl/job/core/glue/GlueFactory.java
浏览文件 @
40607e44
...
@@ -7,6 +7,7 @@ import groovy.lang.GroovyClassLoader;
...
@@ -7,6 +7,7 @@ import groovy.lang.GroovyClassLoader;
import
java.math.BigInteger
;
import
java.math.BigInteger
;
import
java.security.MessageDigest
;
import
java.security.MessageDigest
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentMap
;
/**
/**
* glue factory, product class/object by name
* glue factory, product class/object by name
...
@@ -33,7 +34,7 @@ public class GlueFactory {
...
@@ -33,7 +34,7 @@ public class GlueFactory {
* groovy class loader
* groovy class loader
*/
*/
private
GroovyClassLoader
groovyClassLoader
=
new
GroovyClassLoader
();
private
GroovyClassLoader
groovyClassLoader
=
new
GroovyClassLoader
();
private
Concurrent
Hash
Map
<
String
,
Class
<?>>
CLASS_CACHE
=
new
ConcurrentHashMap
<>();
private
ConcurrentMap
<
String
,
Class
<?>>
CLASS_CACHE
=
new
ConcurrentHashMap
<>();
/**
/**
* load new instance, prototype
* load new instance, prototype
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论