activiti学习(五)

149 阅读2分钟

image.png 持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第5天,点击查看活动详情

activiti中的一些概念

聊完BPMN,我们再来看下activiti中为我们提供了哪些功能模块。

RepositoryService

RepositoryService是我们使用Activiti引擎要用的第一个服务。这个服务提供了管理与控制部署(deployments)流程定义(process definitions)的操作。在这里强调一下,BPMN 2.0中流程定义是流程对应的Java对象,展现流程中步骤的结构与行为。部署是Activiti引擎中的包装单元,一个部署中可以包含多个BPMN 2.0 XML文件或是其他的资源。我们可以决定在一个部署中包含的内容,可以是单个流程的BPMN 2.0 XML文件,也可以包含多个流程及其相关资源(如’hr-processes’部署可以包含所有与人力资源流程相关的的东西)。RepositoryService可用于部署这样的包。部署就是将xml等资源发布到引擎中,引擎将会在资源部署到数据库之前检查和分析所有的流程文件。在部署完成后,可以在引擎中使用这个部署包,部署包中的所有流程都可以启动。 此外,这个服务还可以:

  • 查询我们部署过的流程定义。
  • 暂停或激活已经部署的某些流程,或整个流程定义。暂停之后就不能对它做任何操作,激活则反过来,重新使它可以操作。
  • 获取各种资源,比如部署中保存的文件,或者引擎自动生成的流程图。
  • 获取POJO版本的流程定义。它可以用Java而不是XML的方式查看流程。 有了RepositoryService,我们就可以管理我们的流程定义,我们提交的流程描述都是通过该接口,可以说是十分有用的服务对象。我们可以看到,RepositoryService不仅仅是保存流程定义,也会保存我们生成的图片信息,也会保存到数据库中。