使用的是芋道的flowable 6.8,流程正常发起审批,审批完成后,bpm_process_instance_ext表内的流程状态没有更新,但是bpm_task_ext表的数据已经被更新了。代码之前运行一直正常,就突然这样。我分析是不是结束节点配置啥的有问题。有咩有遇到过的兄弟,然后能给指一条明路啊T-T
3条回答 默认 最新
关注让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
问题描述: 在使用芋道的flowable 6.8版本进行流程审批时,发现审批完成后,bpm_process_instance_ext表内的流程状态没有被更新,而bpm_task_ext表的数据已经被更新了。而且之前的代码一直运行正常,突然出现了这个问题。作者分析认为可能是结束节点配置有问题,想请教有经验的开发者提供解决方案。 解决方案:- 检查流程定义文件 流程定义文件是流程开始前定义的,包含流程的各个节点,包括开始节点和结束节点。首先需要确认结束节点的配置是否正确,是否与之前正常运行的流程相同。 代码案例:
<endEvent id="endevent1" name="结束"></endEvent>- 检查流程监听器配置 流程监听器可以监听整个流程的各个事件,包括流程开始、节点开始、节点完成等事件,确认监听器是否正确配置,是否能正常触发流程完成事件。 代码案例:
public class ProcessCompleteListener implements ExecutionListener { public void notify(DelegateExecution execution) { String processInstanceId = execution.getProcessInstanceId(); // 更新业务数据 // ... } }- 检查数据库配置 除了流程配置问题以外,还需要确认数据库配置是否正确。由于数据在提交时可能存在延迟,需要在流程完成时检查数据库中对应的记录是否已经更新。 代码案例:
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); if (processInstance == null) { // 更新数据库记录 // ... }综上,通过对结束节点、监听器、数据库配置进行检查,可以解决流程审批后状态未更新的问题。
解决 无用评论 打赏 举报