diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java index f44d04057..b2d0216c5 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/conf/FlowableConfiguration.java @@ -15,7 +15,6 @@ import cn.axzo.workflow.core.engine.job.AsyncRejectTaskJobHandler; import cn.axzo.workflow.core.engine.job.AsyncTransferUserTaskJobHandler; import cn.axzo.workflow.core.engine.job.exception.handle.CustomAsyncJobLogClearTraceExceptionHandler; import cn.axzo.workflow.core.engine.job.exception.handle.CustomAsyncRunnableExceptionExceptionHandler; -import cn.axzo.workflow.core.engine.job.exception.handle.CustomWorkflowEngineExceptionHandler; import cn.axzo.workflow.core.engine.persistence.CustomMybatisHistoricProcessInstanceDataManager; import cn.axzo.workflow.core.service.BpmnProcessActivityService; import cn.axzo.workflow.core.service.ExtAxHiTaskInstService; @@ -36,8 +35,8 @@ import org.springframework.context.ApplicationContextAware; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; -import org.springframework.lang.Nullable; import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.lang.Nullable; import java.time.Duration; import java.util.List; @@ -99,7 +98,8 @@ public class FlowableConfiguration { configuration.setEnableVerboseExecutionTreeLogging(enableVerboseExecutionTreeLogging); configuration.setCustomAsyncRunnableExecutionExceptionHandlers(Lists.newArrayList( new CustomAsyncJobLogClearTraceExceptionHandler(), - new CustomWorkflowEngineExceptionHandler(), + // 移除掉该异常处理器,避免因为 job 抛出 WorkflowEngineException 时,不会重试的问题 +// new CustomWorkflowEngineExceptionHandler(), new CustomAsyncRunnableExceptionExceptionHandler())); configuration.setCommandContextFactory(new CustomCommandContextFactory()); configuration.setCustomPreCommandInterceptors(Lists.newArrayList( diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCountersignUserTaskCmd.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCountersignUserTaskCmd.java index d524ad757..7d5f7c2bb 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCountersignUserTaskCmd.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/cmd/CustomCountersignUserTaskCmd.java @@ -8,7 +8,6 @@ import cn.axzo.workflow.core.service.ExtAxHiTaskInstService; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.math.NumberUtils; import org.flowable.common.engine.impl.interceptor.CommandContext; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; @@ -146,7 +145,7 @@ public class CustomCountersignUserTaskCmd extends AbstractCommand implemen TaskService taskService, Task task) { // 构建评论内容 StringBuilder message = new StringBuilder("添加"); - int end = NumberUtils.min(targetTaskAssigneeList.size(), COUNTERSIGN_ASSIGNER_SHOW_NUMBER); + int end = Math.min(targetTaskAssigneeList.size(), COUNTERSIGN_ASSIGNER_SHOW_NUMBER); //加签人员数量显示指定个数 for (int i = 0; i < end; i++) { message.append(targetTaskAssigneeList.get(i).getAssignerName()); diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/job/exception/handle/CustomWorkflowEngineExceptionHandler.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/job/exception/handle/CustomWorkflowEngineExceptionHandler.java index 80ef948ed..5a95b335f 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/job/exception/handle/CustomWorkflowEngineExceptionHandler.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/engine/job/exception/handle/CustomWorkflowEngineExceptionHandler.java @@ -28,7 +28,9 @@ public class CustomWorkflowEngineExceptionHandler implements AsyncRunnableExecut // } // } log.warn("Async Runnable Execution Exception: {}", rootCause.getMessage(), e); - return WorkflowEngineException.class.isAssignableFrom(rootCause.getClass()); + boolean assignableFrom = WorkflowEngineException.class.isAssignableFrom(rootCause.getClass()); + log.info("CustomWorkflowEngineExceptionHandler result : {}" , assignableFrom); + return assignableFrom; } private Throwable getRootCause(Throwable throwable) { diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessTaskController.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessTaskController.java index b50e31172..14076241c 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessTaskController.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/web/bpmn/BpmnProcessTaskController.java @@ -68,7 +68,7 @@ public class BpmnProcessTaskController implements ProcessTaskApi { @GetMapping("/page/todo") @Override public CommonResponse> getTodoTaskPage(@Validated @RequestBody BpmnTaskPageSearchDTO dto) { - log.info("待审核列表 getTodoTaskPage===>>>参数:{}", dto); + log.info("待审核列表 getTodoTaskPage===>>>参数:{}", JSON.toJSONString(dto)); return success(bpmnProcessTaskService.getTodoTaskPage(dto)); } @@ -79,7 +79,7 @@ public class BpmnProcessTaskController implements ProcessTaskApi { @GetMapping("/page/done") @Override public CommonResponse> getDoneTaskPage(@Validated @RequestBody BpmnTaskPageSearchDTO dto) { - log.info("已完成的审批列表 getDoneTaskPage===>>>参数:{}", dto); + log.info("已完成的审批列表 getDoneTaskPage===>>>参数:{}", JSON.toJSONString(dto)); return success(bpmnProcessTaskService.getDoneTaskPage(dto)); } @@ -92,7 +92,7 @@ public class BpmnProcessTaskController implements ProcessTaskApi { @Override @RepeatSubmit public CommonResponse approveTask(@Validated @RequestBody BpmnTaskAuditDTO dto) { - log.info("同意 approveTask===>>>参数:{}", dto); + log.info("同意 approveTask===>>>参数:{}", JSON.toJSONString(dto)); List tempAttachments = ListUtils.defaultIfNull(dto.getAttachmentList(), new ArrayList<>()); if (StringUtils.hasText(dto.getSignatureUrl())) { AttachmentDTO signature = new AttachmentDTO(); @@ -114,7 +114,7 @@ public class BpmnProcessTaskController implements ProcessTaskApi { @Override @RepeatSubmit public CommonResponse batchApproveTask(@Validated @RequestBody List dtos) { - log.info("批量同意 approveTaskList===>>>参数:{}", dtos); + log.info("批量同意 approveTaskList===>>>参数:{}", JSON.toJSONString(dtos)); return success(bpmnProcessTaskService.batchApproveTask(dtos)); } @@ -126,7 +126,7 @@ public class BpmnProcessTaskController implements ProcessTaskApi { @Override @RepeatSubmit public CommonResponse rejectTask(@Validated @RequestBody BpmnTaskAuditDTO dto) { - log.info("驳回 rejectTask===>>>参数:{}", dto); + log.info("驳回 rejectTask===>>>参数:{}", JSON.toJSONString(dto)); bpmnProcessTaskService.rejectTask(dto); return success(true); } @@ -139,7 +139,7 @@ public class BpmnProcessTaskController implements ProcessTaskApi { @Override @RepeatSubmit public CommonResponse batchRejectTask(@Validated @RequestBody List dtos) { - log.info("批量驳回 batchRejectTask===>>>参数:{}", dtos); + log.info("批量驳回 batchRejectTask===>>>参数:{}", JSON.toJSONString(dtos)); return success(bpmnProcessTaskService.batchRejectTask(dtos)); } @@ -151,7 +151,7 @@ public class BpmnProcessTaskController implements ProcessTaskApi { @Override @RepeatSubmit public CommonResponse transferTask(@Validated @RequestBody BpmnTaskTransferDTO dto) { - log.info("转交任务 transferTask===>>>参数:{}", dto); + log.info("转交任务 transferTask===>>>参数:{}", JSON.toJSONString(dto)); bpmnProcessTaskService.transferTask(dto); return success(true); } @@ -161,7 +161,7 @@ public class BpmnProcessTaskController implements ProcessTaskApi { @Override @RepeatSubmit public CommonResponse batchTransferTask(@Validated @RequestBody List dtos) { - log.info("批量转交任务 batchTransferTask===>>>参数:{}", dtos); + log.info("批量转交任务 batchTransferTask===>>>参数:{}", JSON.toJSONString(dtos)); return success(bpmnProcessTaskService.batchTransferTask(dtos)); } @@ -203,7 +203,7 @@ public class BpmnProcessTaskController implements ProcessTaskApi { @Override @RepeatSubmit public CommonResponse remindTask(@Validated @RequestBody BpmnTaskRemindDTO dto) { - log.info("催办任务 remindTask===>>>参数:{}", dto); + log.info("催办任务 remindTask===>>>参数:{}", JSON.toJSONString(dto)); bpmnProcessTaskService.remindTask(dto); return success(true); } @@ -219,7 +219,7 @@ public class BpmnProcessTaskController implements ProcessTaskApi { @Override @RepeatSubmit public CommonResponse createRobotTask(@Validated @RequestBody BpmnRobotTaskCreateDTO dto) { - log.info("创建机器人节点, 暂停流程任务 createRobotTask===>>>参数:{}", dto); + log.info("创建机器人节点, 暂停流程任务 createRobotTask===>>>参数:{}", JSON.toJSONString(dto)); return success(bpmnProcessTaskService.createRobotTask(dto)); } @@ -234,7 +234,7 @@ public class BpmnProcessTaskController implements ProcessTaskApi { @Override @RepeatSubmit public CommonResponse completeRobotTask(@Validated @RequestBody BpmnRobotTaskCompleteDTO dto) { - log.info("完成机器人节点, 继续流程任务 completeRobotTask===>>>参数:{}", dto); + log.info("完成机器人节点, 继续流程任务 completeRobotTask===>>>参数:{}", JSON.toJSONString(dto)); bpmnProcessTaskService.completeRobotTask(dto); return success(true); }