提交 2a94a142 authored 作者: xuxueli's avatar xuxueli

JobHandler提供init/destroy方法,支持在JobHandler初始化和销毁时进行附加操作;

上级 2d55c381
...@@ -74,7 +74,8 @@ public class ExecutorBizImpl implements ExecutorBiz { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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,9 +39,13 @@ public class XxlJobLogger { ...@@ -44,9 +39,13 @@ public class XxlJobLogger {
String formatAppendLog = stringBuffer.toString(); String formatAppendLog = stringBuffer.toString();
// appendlog // appendlog
XxlJobFileAppender.appendLog(logFileName, formatAppendLog); String logFileName = XxlJobFileAppender.contextHolder.get();
if (logFileName==null || logFileName.trim().length()==0) {
logger.debug(">>>>>>>>>>> [{}]: {}", logFileName, formatAppendLog); logger.info(">>>>>>>>>>> [{}]: {}", logFileName, formatAppendLog);
} else {
XxlJobFileAppender.appendLog(logFileName, formatAppendLog);
logger.debug(">>>>>>>>>>> [{}]: {}", logFileName, formatAppendLog);
}
} }
/** /**
......
...@@ -92,6 +92,14 @@ public class JobThread extends Thread{ ...@@ -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{ ...@@ -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());
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论