springboot集成activiti6工作流

springboot集成activiti6工作流

2023年8月1日发(作者:)

springboot集成activiti6⼯作流⼀、什么是⼯作流⼯作流(Workflow),就是“业务过程的部分或整体在计算机应⽤环境下的⾃动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递⽂档、信息或任务的过程⾃动进⾏,从⽽实现某个预期的业务⽬标,或者促使此⽬标的实现”。Activiti是由Alfresco软件在2010年5⽉17⽇发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、⼯作流、服务协作等领域的⼀个开源的、灵活的、易扩展的可执⾏流程语⾔框架。Activiti基于Apache许可的开源BPM平台,创始⼈Tom Baeyens是JBoss jBPM的项⽬架构师,它特⾊是提供了eclipse插件,开发⼈员可以通过插件直接绘画出业务ProcessEngine对象,这是Activiti⼯作的核⼼。负责⽣成流程运⾏时的各种实例及数据、监控和管理流程的运⾏。⼆、表结构资源库流程规则表1) act_re_deployment 部署信息表2) act_re_model 流程设计模型部署表3) act_re_procdef 流程定义数据表运⾏时数据库表1) act_ru_execution 运⾏时流程执⾏实例表2) act_ru_identitylink 运⾏时流程⼈员表,主要存储任务节点与参与者的相关信息3) act_ru_task 运⾏时任务节点表4) act_ru_variable 运⾏时流程变量数据表历史数据库表1) act_hi_actinst 历史节点表2) act_hi_attachment 历史附件表3) act_hi_comment 历史意见表4) act_hi_identitylink 历史流程⼈员表5) act_hi_detail 历史详情表,提供历史变量的查询6) act_hi_procinst 历史流程实例表7) act_hi_taskinst 历史任务实例表8) act_hi_varinst 历史变量表组织机构表1) act_id_group ⽤户组信息表2) act_id_info ⽤户扩展信息表3) act_id_membership ⽤户与⽤户组对应信息表4) act_id_user ⽤户信息表这四张表很常见,基本的组织机构管理,关于⽤户认证⽅⾯建议还是⾃⼰开发⼀套,组件⾃带的功能太简单,使⽤中有很多需求难以满⾜通⽤数据表1) act_ge_bytearray ⼆进制数据表2) act_ge_property 属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插⼊三条记录三、效果图

四、注意点

1、项⽬拉下来时需替换⾃⼰的数据库地址和mysql驱动,本项⽬是基于mysql5.1.47版本开发的2、启动类需要排除,不然跟tyAutoConfiguration会有冲突3、根据⾃⼰的业务情况设置⾃动部署验证设置:true-开启(默认)、false-关闭本项⽬设置成false :-process-definitions=false4、启动后需要先执⾏测试类,将⽤户初始化进去ckage ;import .*;import ;import ;import ment;import sDefinition;import ;import h;import BootTest;import Runner;import ce;@RunWith()@SpringBootTestpublic class ActivitiApplicationTests { @Resource private ProcessEngineConfiguration configuration; @Resource private ProcessEngine engine; @Test public void contextLoads() { abaseSchemaUpdate("drop-create"); rocessEngine(); } @Test public void test() {// ProcessEngine engine = aultProcessEngine(); IdentityService is = ntityService(); // 添加⽤户组 Group empGroup = saveGroup(is, "empGroup", "员⼯组"); Group manageGroup = saveGroup(is, "manageGroup", "经理组"); Group dirGroup = saveGroup(is, "dirGroup", "总监组"); // 添加⽤户 User empA = saveUser(is, "empa"); // 员⼯a User empB = saveUser(is, "empb"); // 员⼯b User empB = saveUser(is, "empb"); // 员⼯b User managea = saveUser(is, "managea"); // 经理a User manageb = saveUser(is, "manageb"); // 经理b User dira = saveUser(is, "dira"); // 总监a // 绑定关系 saveRel(is, empA, empGroup); saveRel(is, empB, empGroup); saveRel(is, managea, manageGroup); saveRel(is, manageb, manageGroup); saveRel(is, dira, dirGroup); } User saveUser(IdentityService is, String id) { User u = r(id); sword("123456"); er(u); return u; } Group saveGroup(IdentityService is, String id, String name) { Group g = up(id); e(name); oup(g); return g; } void saveRel(IdentityService is, User u, Group g) { Membership((), ()); } @Test public void test2() {// / ⽆⽤ : spring⾃动部署流程⽂件// ProcessEngine engine = aultProcessEngine(); // 存储服务 RepositoryService rs = ositoryService(); Deployment dep = Deployment().addClasspathResource("classpath:/processes/").deploy(); ProcessDefinition pd = ProcessDefinitionQuery().deploymentId(()).singleResult(); didateStarterGroup((), "empGroup"); }}

发布者:admin,转转请注明出处:http://www.yc00.com/news/1690874038a452206.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信