JobHandler提供init/destroy方法,支持在JobHandler初始化和销毁时进行附加操作;
This commit is contained in:
parent
2d55c381c6
commit
2a94a142e3
|
@ -74,7 +74,8 @@ public class ExecutorBizImpl implements ExecutorBiz {
|
||||||
String removeOldReason = null;
|
String removeOldReason = null;
|
||||||
|
|
||||||
// valid:jobHandler + jobThread
|
// valid:jobHandler + jobThread
|
||||||
if (GlueTypeEnum.BEAN==GlueTypeEnum.match(triggerParam.getGlueType())) {
|
GlueTypeEnum glueTypeEnum = GlueTypeEnum.match(triggerParam.getGlueType());
|
||||||
|
if (GlueTypeEnum.BEAN == glueTypeEnum) {
|
||||||
|
|
||||||
// new jobhandler
|
// new jobhandler
|
||||||
IJobHandler newJobHandler = XxlJobExecutor.loadJobHandler(triggerParam.getExecutorHandler());
|
IJobHandler newJobHandler = XxlJobExecutor.loadJobHandler(triggerParam.getExecutorHandler());
|
||||||
|
@ -96,7 +97,7 @@ public class ExecutorBizImpl implements ExecutorBiz {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (GlueTypeEnum.GLUE_GROOVY==GlueTypeEnum.match(triggerParam.getGlueType())) {
|
} else if (GlueTypeEnum.GLUE_GROOVY == glueTypeEnum) {
|
||||||
|
|
||||||
// valid old jobThread
|
// valid old jobThread
|
||||||
if (jobThread != null &&
|
if (jobThread != null &&
|
||||||
|
@ -119,9 +120,7 @@ public class ExecutorBizImpl implements ExecutorBiz {
|
||||||
return new ReturnT<String>(ReturnT.FAIL_CODE, e.getMessage());
|
return new ReturnT<String>(ReturnT.FAIL_CODE, e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (GlueTypeEnum.GLUE_SHELL==GlueTypeEnum.match(triggerParam.getGlueType())
|
} else if (glueTypeEnum!=null && glueTypeEnum.isScript()) {
|
||||||
|| GlueTypeEnum.GLUE_PYTHON==GlueTypeEnum.match(triggerParam.getGlueType())
|
|
||||||
|| GlueTypeEnum.GLUE_NODEJS==GlueTypeEnum.match(triggerParam.getGlueType())) {
|
|
||||||
|
|
||||||
// valid old jobThread
|
// valid old jobThread
|
||||||
if (jobThread != null &&
|
if (jobThread != null &&
|
||||||
|
|
|
@ -24,11 +24,6 @@ public class XxlJobLogger {
|
||||||
*/
|
*/
|
||||||
private static void logDetail(StackTraceElement callInfo, String appendLog) {
|
private static void logDetail(StackTraceElement callInfo, String appendLog) {
|
||||||
|
|
||||||
// logFileName
|
|
||||||
String logFileName = XxlJobFileAppender.contextHolder.get();
|
|
||||||
if (logFileName==null || logFileName.trim().length()==0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*// "yyyy-MM-dd HH:mm:ss [ClassName]-[MethodName]-[LineNumber]-[ThreadName] log";
|
/*// "yyyy-MM-dd HH:mm:ss [ClassName]-[MethodName]-[LineNumber]-[ThreadName] log";
|
||||||
StackTraceElement[] stackTraceElements = new Throwable().getStackTrace();
|
StackTraceElement[] stackTraceElements = new Throwable().getStackTrace();
|
||||||
|
@ -44,10 +39,14 @@ public class XxlJobLogger {
|
||||||
String formatAppendLog = stringBuffer.toString();
|
String formatAppendLog = stringBuffer.toString();
|
||||||
|
|
||||||
// appendlog
|
// appendlog
|
||||||
|
String logFileName = XxlJobFileAppender.contextHolder.get();
|
||||||
|
if (logFileName==null || logFileName.trim().length()==0) {
|
||||||
|
logger.info(">>>>>>>>>>> [{}]: {}", logFileName, formatAppendLog);
|
||||||
|
} else {
|
||||||
XxlJobFileAppender.appendLog(logFileName, formatAppendLog);
|
XxlJobFileAppender.appendLog(logFileName, formatAppendLog);
|
||||||
|
|
||||||
logger.debug(">>>>>>>>>>> [{}]: {}", logFileName, formatAppendLog);
|
logger.debug(">>>>>>>>>>> [{}]: {}", logFileName, formatAppendLog);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* append log with pattern
|
* append log with pattern
|
||||||
|
|
|
@ -92,6 +92,14 @@ public class JobThread extends Thread{
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
|
// init
|
||||||
|
try {
|
||||||
|
handler.init();
|
||||||
|
} catch (Throwable e) {
|
||||||
|
logger.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
|
|
||||||
|
// execute
|
||||||
while(!toStop){
|
while(!toStop){
|
||||||
running = false;
|
running = false;
|
||||||
idleTimes++;
|
idleTimes++;
|
||||||
|
@ -165,6 +173,13 @@ public class JobThread extends Thread{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// destroy
|
||||||
|
try {
|
||||||
|
handler.destroy();
|
||||||
|
} catch (Throwable e) {
|
||||||
|
logger.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
|
|
||||||
logger.info(">>>>>>>>>>> xxl-job JobThread stoped, hashCode:{}", Thread.currentThread());
|
logger.info(">>>>>>>>>>> xxl-job JobThread stoped, hashCode:{}", Thread.currentThread());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue