|
@@ -5,6 +5,7 @@ import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
import cn.com.qmth.examcloud.commons.exception.StatusException;
|
|
import cn.com.qmth.examcloud.commons.exception.StatusException;
|
|
|
|
+import cn.com.qmth.examcloud.commons.helpers.ObjectHolder;
|
|
import cn.com.qmth.examcloud.commons.helpers.pipeline.SimpleNode;
|
|
import cn.com.qmth.examcloud.commons.helpers.pipeline.SimpleNode;
|
|
import cn.com.qmth.examcloud.commons.logging.ExamCloudLog;
|
|
import cn.com.qmth.examcloud.commons.logging.ExamCloudLog;
|
|
import cn.com.qmth.examcloud.commons.logging.ExamCloudLogFactory;
|
|
import cn.com.qmth.examcloud.commons.logging.ExamCloudLogFactory;
|
|
@@ -58,7 +59,7 @@ public class HandInExamExecutor implements NodeExecuter<Long, ExamRecordData, Lo
|
|
@Override
|
|
@Override
|
|
public void execute(Long key, ExamRecordData examRecordData,
|
|
public void execute(Long key, ExamRecordData examRecordData,
|
|
List<KeyValuePair<Long, ExamRecordData>> outList,
|
|
List<KeyValuePair<Long, ExamRecordData>> outList,
|
|
- Boolean removable, TaskContext context) throws Exception {
|
|
|
|
|
|
+ ObjectHolder<Boolean> removable, TaskContext context) throws Exception {
|
|
|
|
|
|
String sequenceLockKey = Constants.EXAM_CONTROL_LOCK_PREFIX + examRecordData.getStudentId();
|
|
String sequenceLockKey = Constants.EXAM_CONTROL_LOCK_PREFIX + examRecordData.getStudentId();
|
|
|
|
|
|
@@ -112,7 +113,7 @@ public class HandInExamExecutor implements NodeExecuter<Long, ExamRecordData, Lo
|
|
examRecordDataService.saveExamRecordDataCache(examRecordData.getId(), examRecordData);
|
|
examRecordDataService.saveExamRecordDataCache(examRecordData.getId(), examRecordData);
|
|
|
|
|
|
outList.clear();
|
|
outList.clear();
|
|
- removable = false;
|
|
|
|
|
|
+ removable.set(false);
|
|
|
|
|
|
this.errorLog("auto hand in occurs error,to be retry...", e, examRecordData.getId());
|
|
this.errorLog("auto hand in occurs error,to be retry...", e, examRecordData.getId());
|
|
|
|
|
|
@@ -121,7 +122,7 @@ public class HandInExamExecutor implements NodeExecuter<Long, ExamRecordData, Lo
|
|
}
|
|
}
|
|
|
|
|
|
//如果不需要自动交卷,则需要下次轮循,继续处理
|
|
//如果不需要自动交卷,则需要下次轮循,继续处理
|
|
- removable = false;
|
|
|
|
|
|
+ removable.set(false);
|
|
outList.clear();
|
|
outList.clear();
|
|
|
|
|
|
this.debugLog("don't need auto hand in.to be retry...", examRecordData.getId());
|
|
this.debugLog("don't need auto hand in.to be retry...", examRecordData.getId());
|
|
@@ -187,5 +188,4 @@ public class HandInExamExecutor implements NodeExecuter<Long, ExamRecordData, Lo
|
|
LOG.error("[HAND-IN-EXAM-EXECUTOR-" + examRecordDataId + "]:" + msg, e);
|
|
LOG.error("[HAND-IN-EXAM-EXECUTOR-" + examRecordDataId + "]:" + msg, e);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|