update(REQ-2324) - 修复 trigger 方法异步导致的问题

This commit is contained in:
wangli 2024-06-05 21:21:25 +08:00
parent 69034b3f85
commit ae7ea421ea

View File

@ -9,6 +9,7 @@ import cn.axzo.workflow.core.service.BpmnProcessActivityService;
import cn.axzo.workflow.core.service.ExtAxHiTaskInstService;
import cn.hutool.json.JSONUtil;
import lombok.extern.slf4j.Slf4j;
import org.flowable.common.engine.impl.interceptor.Command;
import org.flowable.common.engine.impl.interceptor.CommandExecutor;
import org.flowable.engine.RuntimeService;
import org.flowable.engine.runtime.Execution;
@ -43,6 +44,7 @@ public class BpmnProcessActivityServiceImpl implements BpmnProcessActivityServic
private static final String JOB_TRIGGER_ASYNC_NAME = "asyncTrigger";
private static final String JOB_ASSIGNEE_ASYNC_NAME = "asyncSetAssignee";
@Override
public void executeAsyncJob(JobEntity job) {
if (job == null) {
log.error("job is null");
@ -74,7 +76,11 @@ public class BpmnProcessActivityServiceImpl implements BpmnProcessActivityServic
@Override
public void triggerAsync(String executionId) {
validateAndStartAsyncJob(executionId, executionId, JOB_TRIGGER_ASYNC_NAME);
processEngineConfiguration.getCommandExecutor().execute((Command<Void>) commandContext -> {
validateAndStartAsyncJob(executionId, executionId, JOB_TRIGGER_ASYNC_NAME);
return null;
});
}
@Override