首页 > 编程知识 正文

activiti流程设计器,spring工作流引擎

时间:2023-05-03 17:25:50 阅读:25826 作者:2440

源地址:https://code China.csdn.net/wwzhouzy/activit idemo

另一方面,工作流工作流(Workflow )是指“在部分或整个业务流程的计算机应用环境中实现自动化”,主要是指“根据预定义的规则在多个参与者之间传递文档、信息或任务的流程”

Activiti是Alfresco软件于2010年5月17日推出的业务流程管理(BPM )框架,涵盖业务流程管理、工作流和服务合作等领域,是一个开放、灵活、可扩展的运行方式基于Apache许可的开源BPM平台的Activiti创始人Tom Baeyens是JBoss jBPM的项目架构师,其特征在于提供一个eclipse插件,开发人员可以直接描绘业务

流程引擎对象,这是活动引擎工作的核心。 负责流程运行时各种实例和数据的生成、流程的监控和管理。

二、表结构资源库流程规则表

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属性数据表存储整个流程引擎级别的数据,并在初始化表结构时默认插入三条记录

三.效果图

四.注意事项项目地址:https://code China.csdn.net/wwzhouzy/activit idemo

1、项目需要更换自己的数据库地址和mysql驱动程序。 本项目是基于MySQL5.1. 47版开发的

2、启动类需要排除org.activiti.spring.boot.securityautoconfiguration.class。 否则,与org.spring framework.boot.auto configure .一起

3、根据自己的业务情况设置自动配置验证设置:真-开(默认)、假-关

本项目设置为false:spring.activiti.check-process-definitions=false

4、启动后,首先需要运行测试类,初始化用户

ActivitiApplicationTests.java

package com.zhouzy; 导入org.activiti.engine.*; importorg.activiti.engine.identity.group; importorg.activiti.engine.identity.user; importorg.activiti.engine.repository.deployment; importorg.activiti.engine.repository.process definition; import org.junit.Test; import org.junit.runner.RunWith; importorg.spring帧work.boot.test.co

ntext.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;import javax.annotation.Resource;@RunWith(SpringRunner.class)@SpringBootTestpublic class ActivitiApplicationTests { @Resource private ProcessEngineConfiguration configuration; @Resource private ProcessEngine engine;@Testpublic void contextLoads() { configuration.setDatabaseSchemaUpdate("drop-create"); configuration.buildProcessEngine();}@Test public void test() {// ProcessEngine engine = ProcessEngines.getDefaultProcessEngine(); IdentityService is = engine.getIdentityService(); // 添加用户组 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 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 = is.newUser(id); u.setPassword("123456"); is.saveUser(u); return u; } Group saveGroup(IdentityService is, String id, String name) { Group g = is.newGroup(id); g.setName(name); is.saveGroup(g); return g; } void saveRel(IdentityService is, User u, Group g) { is.createMembership(u.getId(), g.getId()); } @Test public void test2() {// / 无用 : spring自动部署流程文件// ProcessEngine engine = ProcessEngines.getDefaultProcessEngine(); // 存储服务 RepositoryService rs = engine.getRepositoryService(); Deployment dep = rs.createDeployment().addClasspathResource("classpath:/processes/vacation.bpmn").deploy(); ProcessDefinition pd = rs.createProcessDefinitionQuery().deploymentId(dep.getId()).singleResult(); rs.addCandidateStarterGroup(pd.getId(), "empGroup"); }}

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。