荼蘼_ 2024-03-20 20:49 采纳率: 66.7%
浏览 15

flowable 6.8 审批流完成后状态没有正确更新

使用的是芋道的flowable 6.8,流程正常发起审批,审批完成后,bpm_process_instance_ext表内的流程状态没有更新,但是bpm_task_ext表的数据已经被更新了。代码之前运行一直正常,就突然这样。我分析是不是结束节点配置啥的有问题。有咩有遇到过的兄弟,然后能给指一条明路啊T-T

  • 写回答

3条回答 默认 最新

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

    综上,通过对结束节点、监听器、数据库配置进行检查,可以解决流程审批后状态未更新的问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月20日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么