一.Activiti7体系架构

通过加载activiti.cfg.xml文件得到ProcessEngineConfiguration对象,通过ProcessEngineConfiguration对象可以得到ProcessEngine对象

得到该对象后,可以通过流程引擎对象ProcessEngine来得到各种Service,每一种Service接口有每个用途

  • RepositoryService      activiti 的资源管理类
  • RuntimeService         activiti 的流程运行管理类
  • TaskService               activiti 的任务管理类
  • HistoryService      activiti 的历史管理类
  • ManagerService   activiti 的引擎管理类

二.Activiti使用步骤

1.流程定义

使用Activiti Designer工具创建流程图

新建一个BPMNFile流程图,可更改该流程图的ID和每个任务环节的执行人,流程图就是一个xml文件,每一个流程需要生成一张流程图保存,

Activiti7案例

Activiti7案例

首先将.bpmn文件改为.xml文件

Activiti7案例

然后右键该xml文件Diagrams--->show BPMN 2.0 Designer就能生成一张流程图

 

 

 

 Activiti7案例

 

将流程图导出保存到项目对应目录即可

 

 Activiti7案例

 

 

 Activiti7案例

然后将xml改回bpmn即可

Activiti7案例

 

 

 

2.流程部署
需要将流程部署到Activiti当中,代表当前有该流程

 1     /**
 2      * 流程部署
 3      * `act_ge_bytearray` 流程定义的资源信息,包含bpmn和png流程文件信息
 4      * `act_re_deployment` 流程部署信息,包含流程名称,ID,Key等
 5      * `act_re_procdef` 流程定义信息
 6      */
 7     @Test
 8     public void deployment(){
 9         //获取ProcessEngine对象 默认配置文件名称:activiti.cfg.xml 并且configuration的Bean实例ID为processEngineConfiguration
10         ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
11         //获取RepositoryService对象进行流程部署
12         RepositoryService repositoryService = processEngine.getRepositoryService();
13         //进行部署,将对应的流程定义文件生成到数据库当中,作为记录进行保存
14         Deployment deployment = repositoryService.createDeployment()
15                 .addClasspathResource("flowchart/activiti.bpmn")            //加载流程文件
16                 .addClasspathResource("flowchart/activiti.png")
17                 .name("请假流程")                                         //设置流程名称
18                 .key("activitiKey")
19                 .deploy();                                              //部署
20 
21         //输出部署信息
22         System.out.println("流程名称:"+deployment.getName());
23         System.out.println("流程ID:"+deployment.getId());
24         System.out.println("流程Key:"+deployment.getKey());
25     }
流程部署

相关文章: