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
e43791d4
authored
Sep 23, 2018
by
xuxueli
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
任务调度模块,底层代码重构
parent
a75d82f9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
24 additions
and
31 deletions
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouter.java
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteBusyover.java
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteConsistentHash.java
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFailover.java
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFirst.java
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLRU.java
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLast.java
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRandom.java
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRound.java
xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/ExecutorRouter.java
View file @
e43791d4
...
@@ -5,7 +5,7 @@ import com.xxl.job.core.biz.model.TriggerParam;
...
@@ -5,7 +5,7 @@ import com.xxl.job.core.biz.model.TriggerParam;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
java.util.
Array
List
;
import
java.util.List
;
/**
/**
* Created by xuxueli on 17/3/10.
* Created by xuxueli on 17/3/10.
...
@@ -19,6 +19,6 @@ public abstract class ExecutorRouter {
...
@@ -19,6 +19,6 @@ public abstract class ExecutorRouter {
* @param addressList
* @param addressList
* @return ReturnT.content=address
* @return ReturnT.content=address
*/
*/
public
abstract
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
Array
List
<
String
>
addressList
);
public
abstract
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
List
<
String
>
addressList
);
}
}
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteBusyover.java
View file @
e43791d4
...
@@ -2,13 +2,12 @@ package com.xxl.job.admin.core.route.strategy;
...
@@ -2,13 +2,12 @@ package com.xxl.job.admin.core.route.strategy;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler
;
import
com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler
;
import
com.xxl.job.admin.core.trigger.XxlJobTrigger
;
import
com.xxl.job.admin.core.util.I18nUtil
;
import
com.xxl.job.admin.core.util.I18nUtil
;
import
com.xxl.job.core.biz.ExecutorBiz
;
import
com.xxl.job.core.biz.ExecutorBiz
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
java.util.
Array
List
;
import
java.util.List
;
/**
/**
* Created by xuxueli on 17/3/10.
* Created by xuxueli on 17/3/10.
...
@@ -16,7 +15,7 @@ import java.util.ArrayList;
...
@@ -16,7 +15,7 @@ import java.util.ArrayList;
public
class
ExecutorRouteBusyover
extends
ExecutorRouter
{
public
class
ExecutorRouteBusyover
extends
ExecutorRouter
{
@Override
@Override
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
Array
List
<
String
>
addressList
)
{
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
List
<
String
>
addressList
)
{
StringBuffer
idleBeatResultSB
=
new
StringBuffer
();
StringBuffer
idleBeatResultSB
=
new
StringBuffer
();
for
(
String
address
:
addressList
)
{
for
(
String
address
:
addressList
)
{
// beat
// beat
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteConsistentHash.java
View file @
e43791d4
package
com
.
xxl
.
job
.
admin
.
core
.
route
.
strategy
;
package
com
.
xxl
.
job
.
admin
.
core
.
route
.
strategy
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.trigger.XxlJobTrigger
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
java.io.UnsupportedEncodingException
;
import
java.io.UnsupportedEncodingException
;
import
java.security.MessageDigest
;
import
java.security.MessageDigest
;
import
java.security.NoSuchAlgorithmException
;
import
java.security.NoSuchAlgorithmException
;
import
java.util.
Array
List
;
import
java.util.List
;
import
java.util.SortedMap
;
import
java.util.SortedMap
;
import
java.util.TreeMap
;
import
java.util.TreeMap
;
...
@@ -57,7 +56,7 @@ public class ExecutorRouteConsistentHash extends ExecutorRouter {
...
@@ -57,7 +56,7 @@ public class ExecutorRouteConsistentHash extends ExecutorRouter {
return
truncateHashCode
;
return
truncateHashCode
;
}
}
public
String
hashJob
(
int
jobId
,
Array
List
<
String
>
addressList
)
{
public
String
hashJob
(
int
jobId
,
List
<
String
>
addressList
)
{
// ------A1------A2-------A3------
// ------A1------A2-------A3------
// -----------J1------------------
// -----------J1------------------
...
@@ -78,7 +77,7 @@ public class ExecutorRouteConsistentHash extends ExecutorRouter {
...
@@ -78,7 +77,7 @@ public class ExecutorRouteConsistentHash extends ExecutorRouter {
}
}
@Override
@Override
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
Array
List
<
String
>
addressList
)
{
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
List
<
String
>
addressList
)
{
String
address
=
hashJob
(
triggerParam
.
getJobId
(),
addressList
);
String
address
=
hashJob
(
triggerParam
.
getJobId
(),
addressList
);
return
new
ReturnT
<
String
>(
address
);
return
new
ReturnT
<
String
>(
address
);
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFailover.java
View file @
e43791d4
...
@@ -2,13 +2,12 @@ package com.xxl.job.admin.core.route.strategy;
...
@@ -2,13 +2,12 @@ package com.xxl.job.admin.core.route.strategy;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler
;
import
com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler
;
import
com.xxl.job.admin.core.trigger.XxlJobTrigger
;
import
com.xxl.job.admin.core.util.I18nUtil
;
import
com.xxl.job.admin.core.util.I18nUtil
;
import
com.xxl.job.core.biz.ExecutorBiz
;
import
com.xxl.job.core.biz.ExecutorBiz
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
java.util.
Array
List
;
import
java.util.List
;
/**
/**
* Created by xuxueli on 17/3/10.
* Created by xuxueli on 17/3/10.
...
@@ -16,7 +15,7 @@ import java.util.ArrayList;
...
@@ -16,7 +15,7 @@ import java.util.ArrayList;
public
class
ExecutorRouteFailover
extends
ExecutorRouter
{
public
class
ExecutorRouteFailover
extends
ExecutorRouter
{
@Override
@Override
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
Array
List
<
String
>
addressList
)
{
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
List
<
String
>
addressList
)
{
StringBuffer
beatResultSB
=
new
StringBuffer
();
StringBuffer
beatResultSB
=
new
StringBuffer
();
for
(
String
address
:
addressList
)
{
for
(
String
address
:
addressList
)
{
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteFirst.java
View file @
e43791d4
package
com
.
xxl
.
job
.
admin
.
core
.
route
.
strategy
;
package
com
.
xxl
.
job
.
admin
.
core
.
route
.
strategy
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.trigger.XxlJobTrigger
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
java.util.
Array
List
;
import
java.util.List
;
/**
/**
* Created by xuxueli on 17/3/10.
* Created by xuxueli on 17/3/10.
...
@@ -13,7 +12,7 @@ import java.util.ArrayList;
...
@@ -13,7 +12,7 @@ import java.util.ArrayList;
public
class
ExecutorRouteFirst
extends
ExecutorRouter
{
public
class
ExecutorRouteFirst
extends
ExecutorRouter
{
@Override
@Override
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
Array
List
<
String
>
addressList
){
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
List
<
String
>
addressList
){
return
new
ReturnT
<
String
>(
addressList
.
get
(
0
));
return
new
ReturnT
<
String
>(
addressList
.
get
(
0
));
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java
View file @
e43791d4
package
com
.
xxl
.
job
.
admin
.
core
.
route
.
strategy
;
package
com
.
xxl
.
job
.
admin
.
core
.
route
.
strategy
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.trigger.XxlJobTrigger
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
com.xxl.job.core.biz.model.TriggerParam
;
...
@@ -20,7 +19,7 @@ public class ExecutorRouteLFU extends ExecutorRouter {
...
@@ -20,7 +19,7 @@ public class ExecutorRouteLFU extends ExecutorRouter {
private
static
ConcurrentHashMap
<
Integer
,
HashMap
<
String
,
Integer
>>
jobLfuMap
=
new
ConcurrentHashMap
<
Integer
,
HashMap
<
String
,
Integer
>>();
private
static
ConcurrentHashMap
<
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
,
Array
List
<
String
>
addressList
)
{
public
String
route
(
int
jobId
,
List
<
String
>
addressList
)
{
// cache clear
// cache clear
if
(
System
.
currentTimeMillis
()
>
CACHE_VALID_TIME
)
{
if
(
System
.
currentTimeMillis
()
>
CACHE_VALID_TIME
)
{
...
@@ -57,7 +56,7 @@ public class ExecutorRouteLFU extends ExecutorRouter {
...
@@ -57,7 +56,7 @@ public class ExecutorRouteLFU extends ExecutorRouter {
}
}
@Override
@Override
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
Array
List
<
String
>
addressList
)
{
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
List
<
String
>
addressList
)
{
String
address
=
route
(
triggerParam
.
getJobId
(),
addressList
);
String
address
=
route
(
triggerParam
.
getJobId
(),
addressList
);
return
new
ReturnT
<
String
>(
address
);
return
new
ReturnT
<
String
>(
address
);
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLRU.java
View file @
e43791d4
package
com
.
xxl
.
job
.
admin
.
core
.
route
.
strategy
;
package
com
.
xxl
.
job
.
admin
.
core
.
route
.
strategy
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.trigger.XxlJobTrigger
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
/**
/**
...
@@ -21,7 +20,7 @@ public class ExecutorRouteLRU extends ExecutorRouter {
...
@@ -21,7 +20,7 @@ public class ExecutorRouteLRU extends ExecutorRouter {
private
static
ConcurrentHashMap
<
Integer
,
LinkedHashMap
<
String
,
String
>>
jobLRUMap
=
new
ConcurrentHashMap
<
Integer
,
LinkedHashMap
<
String
,
String
>>();
private
static
ConcurrentHashMap
<
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
,
Array
List
<
String
>
addressList
)
{
public
String
route
(
int
jobId
,
List
<
String
>
addressList
)
{
// cache clear
// cache clear
if
(
System
.
currentTimeMillis
()
>
CACHE_VALID_TIME
)
{
if
(
System
.
currentTimeMillis
()
>
CACHE_VALID_TIME
)
{
...
@@ -55,7 +54,7 @@ public class ExecutorRouteLRU extends ExecutorRouter {
...
@@ -55,7 +54,7 @@ public class ExecutorRouteLRU extends ExecutorRouter {
}
}
@Override
@Override
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
Array
List
<
String
>
addressList
)
{
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
List
<
String
>
addressList
)
{
String
address
=
route
(
triggerParam
.
getJobId
(),
addressList
);
String
address
=
route
(
triggerParam
.
getJobId
(),
addressList
);
return
new
ReturnT
<
String
>(
address
);
return
new
ReturnT
<
String
>(
address
);
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLast.java
View file @
e43791d4
package
com
.
xxl
.
job
.
admin
.
core
.
route
.
strategy
;
package
com
.
xxl
.
job
.
admin
.
core
.
route
.
strategy
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.trigger.XxlJobTrigger
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
java.util.
Array
List
;
import
java.util.List
;
/**
/**
* Created by xuxueli on 17/3/10.
* Created by xuxueli on 17/3/10.
...
@@ -13,7 +12,7 @@ import java.util.ArrayList;
...
@@ -13,7 +12,7 @@ import java.util.ArrayList;
public
class
ExecutorRouteLast
extends
ExecutorRouter
{
public
class
ExecutorRouteLast
extends
ExecutorRouter
{
@Override
@Override
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
Array
List
<
String
>
addressList
)
{
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
List
<
String
>
addressList
)
{
return
new
ReturnT
<
String
>(
addressList
.
get
(
addressList
.
size
()-
1
));
return
new
ReturnT
<
String
>(
addressList
.
get
(
addressList
.
size
()-
1
));
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRandom.java
View file @
e43791d4
package
com
.
xxl
.
job
.
admin
.
core
.
route
.
strategy
;
package
com
.
xxl
.
job
.
admin
.
core
.
route
.
strategy
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.trigger.XxlJobTrigger
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
java.util.
Array
List
;
import
java.util.List
;
import
java.util.Random
;
import
java.util.Random
;
/**
/**
...
@@ -16,7 +15,7 @@ public class ExecutorRouteRandom extends ExecutorRouter {
...
@@ -16,7 +15,7 @@ public class ExecutorRouteRandom extends ExecutorRouter {
private
static
Random
localRandom
=
new
Random
();
private
static
Random
localRandom
=
new
Random
();
@Override
@Override
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
Array
List
<
String
>
addressList
)
{
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
List
<
String
>
addressList
)
{
String
address
=
addressList
.
get
(
localRandom
.
nextInt
(
addressList
.
size
()));
String
address
=
addressList
.
get
(
localRandom
.
nextInt
(
addressList
.
size
()));
return
new
ReturnT
<
String
>(
address
);
return
new
ReturnT
<
String
>(
address
);
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRound.java
View file @
e43791d4
package
com
.
xxl
.
job
.
admin
.
core
.
route
.
strategy
;
package
com
.
xxl
.
job
.
admin
.
core
.
route
.
strategy
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.trigger.XxlJobTrigger
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.ReturnT
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
com.xxl.job.core.biz.model.TriggerParam
;
import
java.util.
Array
List
;
import
java.util.List
;
import
java.util.Random
;
import
java.util.Random
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
...
@@ -31,7 +30,7 @@ public class ExecutorRouteRound extends ExecutorRouter {
...
@@ -31,7 +30,7 @@ public class ExecutorRouteRound extends ExecutorRouter {
}
}
@Override
@Override
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
Array
List
<
String
>
addressList
)
{
public
ReturnT
<
String
>
route
(
TriggerParam
triggerParam
,
List
<
String
>
addressList
)
{
String
address
=
addressList
.
get
(
count
(
triggerParam
.
getJobId
())%
addressList
.
size
());
String
address
=
addressList
.
get
(
count
(
triggerParam
.
getJobId
())%
addressList
.
size
());
return
new
ReturnT
<
String
>(
address
);
return
new
ReturnT
<
String
>(
address
);
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java
View file @
e43791d4
This diff is collapsed.
Click to expand it.
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml
View file @
e43791d4
...
@@ -117,11 +117,13 @@
...
@@ -117,11 +117,13 @@
INSERT INTO XXL_JOB_QRTZ_TRIGGER_LOG (
INSERT INTO XXL_JOB_QRTZ_TRIGGER_LOG (
`job_group`,
`job_group`,
`job_id`,
`job_id`,
`trigger_time`,
`trigger_code`,
`trigger_code`,
`handle_code`
`handle_code`
) VALUES (
) VALUES (
#{jobGroup},
#{jobGroup},
#{jobId},
#{jobId},
#{triggerTime},
#{triggerCode},
#{triggerCode},
#{handleCode}
#{handleCode}
);
);
...
...
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