• activiti开源工作流集成示例


    0、源码地址

    gitee源码

    1、配置集成环境

    下载源码,里面已经依赖了activiti相关pom,配置数据库地址,替换成你自己即可。

    2、启动程序

    启动后,如果数据库中没有想过工作流表,activiti引擎会自动初始化创建,一共25张表。

     

    3、IDEA安装流程设计器工具:actiBPM 插件

    这玩意初次使用可能会乱码,需要调整IDEA启动环境字符集,修改安装目录中:

     追加:-Dfile.encoding=UTF-8 即可。

    4、创建流程设计器文件,设计流程

     

     

     

     

     5、发布流程

    通过程序调用引擎内置对象,发布流程,此时数据库会生成一条流程定义记录。

     6、根据业务创建流程(实例)

    注意:

    1)创建一个流程实例后,即:启动该流程实例

    2)流程第一步此时未处理,即:提交请假还未提交转发,需要继续调用“转发”功能。

     生成的流程实例记录,其中:business_key 为业务提供的id。

     任务表记录了任务完成情况,因为我已经走完了,所以完成时间已经有了,如果未执行则end_time为空。

    7、执行转发操作

     引擎的 TaskService.complete()方法为:转发下一步,实例中图省事,直接根据任务节点判断是哪个步骤从而依据业务设置不同参数,这些参数与流程定义中的变量对应。

    如果是最后一步则会完成整个流程。

    8、关于IDEA版本流程设计器插件

    该插件有个不大不小的问题,画完保存后,如果关闭重新打开,“参与人”这个字段会空着,但实际文件里面却仍然存在。所以只能画完在关闭之前启动程序,发布一下保存到数据库就ok了。

    9、源码中有测试方法

    由于没有写界面,所以仅能通过api通过浏览器简单测试验证数据。

    小结:这只是一个集成学习示例,仅供记录参考。

     

     

     

  • 相关阅读:
    设计模式:享元模式
    Win10操作系统安装Python
    国家行政区代码
    【C#】Mapster对象映射的使用
    关于一篇ElementUI之CUD+表单验证
    【Rust日报】2023-10-05 Ferrocene Rust 安全编译器开源
    Sora来袭!机器人+Sora落地性如何?
    【安卓应用渗透】第一篇:安卓逆向回顾和梳理-2211
    深入理解Vite3.0
    Qt文件系统源码分析—第二篇QSaveFile
  • 原文地址:https://blog.csdn.net/pxzsky/article/details/126000570