update - 将更新 extHiTaskInst 表数据的逻辑,改成使用引擎的异步处理,结合重试的能力
This commit is contained in:
parent
04fb6cf4c2
commit
27fcc9e52b
@ -45,6 +45,11 @@ public class ExtTaskInstEventListener extends AbstractFlowableEventListener {
|
|||||||
.add(UPDATE)
|
.add(UPDATE)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 不要将该类的方法异步化, 否则有一连串的坑
|
||||||
|
*
|
||||||
|
* @param flowableEvent
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onEvent(FlowableEvent flowableEvent) {
|
public void onEvent(FlowableEvent flowableEvent) {
|
||||||
if (flowableEvent instanceof ExtTaskInstEvent) {
|
if (flowableEvent instanceof ExtTaskInstEvent) {
|
||||||
@ -83,11 +88,10 @@ public class ExtTaskInstEventListener extends AbstractFlowableEventListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateExtTaskInst(ExtTaskInstUpdateEvent event) {
|
private void updateExtTaskInst(ExtTaskInstUpdateEvent event) {
|
||||||
extAxHiTaskInstService.updateByTaskIdAndInstanceId(event.getTaskId(), event.getProcessInstanceId(),
|
// extAxHiTaskInstService.updateByTaskIdAndInstanceId(event.getTaskId(), event.getProcessInstanceId(),
|
||||||
event.getAssignee(), event.getResultEnum());
|
// event.getAssignee(), event.getResultEnum());
|
||||||
// externalJob(event);
|
|
||||||
// 利用引擎异步任务的重试能力, 去正确更新扩展任务表的状态
|
// 利用引擎异步任务的重试能力, 去正确更新扩展任务表的状态
|
||||||
// createAsyncJob(event);
|
createAsyncJob(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createAsyncJob(ExtTaskInstUpdateEvent event) {
|
private void createAsyncJob(ExtTaskInstUpdateEvent event) {
|
||||||
@ -95,8 +99,6 @@ public class ExtTaskInstEventListener extends AbstractFlowableEventListener {
|
|||||||
processEngineConfiguration.getCommandExecutor().execute(commandContext -> {
|
processEngineConfiguration.getCommandExecutor().execute(commandContext -> {
|
||||||
JobService jobService = CommandContextUtil.getJobService(commandContext);
|
JobService jobService = CommandContextUtil.getJobService(commandContext);
|
||||||
JobEntity job = jobService.createJob();
|
JobEntity job = jobService.createJob();
|
||||||
// job.setExecutionId(event.getExecutionId());
|
|
||||||
job.setProcessInstanceId(event.getProcessInstanceId());
|
|
||||||
job.setJobHandlerType(AsyncExtTaskInstJobHandler.TYPE);
|
job.setJobHandlerType(AsyncExtTaskInstJobHandler.TYPE);
|
||||||
|
|
||||||
// 携带自定义的数据
|
// 携带自定义的数据
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user