工做流-Activiti核心API介绍

1、ProcessEngine。数据库

     谈到activiti核心的API那确定是ProcessEngine类,其余全部的类都是由他而来。并发

     如何建立:ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();ui

查看getDefaultProcessEngine()就能够发现activiti会默认加载classpath路径下activiti.cfg.xml文件。spa

activiti.cfg.xlm文件配置以下:orm

如上图可见此配置是jdbc配置信息,操做activiti的23张表。xml

查看org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration类可见activity默认支持h2数据库。对象

一、RepositoryService:管理流程部署及定义。资源

     1)该类是activiti的仓库服务类,仓库及指流程定义文档的两个文件:.bpmn、.png文档

     2)如何建立:RespositoryService respositoryService = processEngine.getRepositoryService();部署

     3)该类能够建立出一个DeploymentBuilder对象,用于部署流程。Deployment deployment = respositoryService.createDeployment().deploy();

     4)删除流程定义:respositoryService.deleteDeployment(deploymentId);

二、RuntimeService:执行管理,包括启动,查询,删除流程定义。

     1)是activiti的流程执行服务类。能够从这个服务类中获取不少关于流程执行相关的信息。     

     2)如何建立:processEngine.getRuntimeService();

     

三、TaskService:任务管理。

     1)是activiti的任务服务类。能够从这个类中获取任务的信息。

     2)如何建立:processEngine.getTaskService();


四、HistoryService:历史查询,包含流程变量查询,流程查询,流程执行对象查询。

     1)是activiti的查询历史信息的类。在一个流程执行完成后,这个对象为咱们提供查询历史信息。

     2)如何建立:processEngine.getHistoryService();

五、IdentityService:组织机构管理。

     如何建立:processEngine.getIdentityService ();

六、FormService:任务表单管理。

     如何建立:processEngine.getFormService();

七、ManagementService。

     如何建立:processEngine.getManagementService();

2、ProcessDefinition。

     流程定义对象,能够从这个类中获取资源文件等等。

3、ProcessInstance。

    表明流程定义的执行实例,一个流程实例包含这一个流程上面的全部的节点,那么咱们能够经过这个类获取到整个流程中当前全部信息,一个流程实例表示一个流程从开始到结束的最大流程分支,即一个流程只有一个流程实例。

4、Execution。

     activiti中用这个对象描述流程执行的每个节点。在没有并发的状况下,Execution即为ProcessInstance。流程按照流程定义的规则执行一次的过程就能够表示执行对象Execution。

   

     查看源代码便可发现,ProcessInstance集成了Execution。

在单线流程中Execution即为ProcessInstance,可是在并发状况,即有分支流程的状况下,每一条流程就有一个Execution了。

总结:

     * 一个流程中,流程执行对象(Execution)能够有多个,可是流程实例对象(ProcessInstance)只能有一个。

     * 当流程按照流程定义的规则只执行一次的时候,流程执行对象(Execution)即为流程实例对象(ProcessInstance)。

相关文章
相关标签/搜索