目录
一,Activiti 服务架构
在新版本中,我们通过实验可以发现 IdentityService,FormService 两个 Serivce 都已经删除了。 所以后面我们对于这两个 Service 也不讲解了,但老版本中还是有这两个 Service,同学们需要了解 一下。
1.1 ProcessEngine
工作流引擎,相当于一个门面接口,通过 ProcessEngineConfiguration 创建 processEngine,通过 ProcessEngine 创建各个 service 接口。
1.1.1 一般创建方式
//通过ProcessEngineConfiguration创建 ProcessEngine
ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
1.1.2 简单创建方式
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
1.2 Service
1.2.1 service 创建方式
通过 ProcessEngine 创建 Service,Service 是工作流引擎提供用于进行工作流部署、执行、管理的服 务接口。 方式如下:
RuntimeService runtimeService = processEngine.getRuntimeService();
RepositoryService repositoryService = processEngine.getRepositoryService();
TaskService taskService = processEngine.getTaskService();
1.2.2 Service 总览
RepositoryService | activiti 的资源管理类 |
RuntimeService | activiti 的流程运行管理类 |
TaskService | activiti 的任务管理类 |
HistoryService | activiti 的历史管理类 |
ManagerService | activiti 的引擎管理类 |
字体为红色的为常用service
1.2.3 RepositoryService
是 activiti 的资源管理类,提供了管理和控制流程发布包和流程定义的操作。使用工作流建模工 具设计的业务流程图需要使用此 service 将流程定义文件的内容部署到计算机。
除了部署流程定义以外还可以:查询引擎中的发布包和流程定义。暂停或激活发布包,对应全部和特定流程定义。 暂停意味着它们不能再执行任何操作了,激活是对应的反向操作。
获得多种资源,像是包含在发布包里的文件, 或引擎自动生成的流程图。
获得流程定义的 pojo 版本, 可以用来通过 java 解析流程,而不必通过 xml。
repositoryService:主要是
1,管理流程,激活流程,或者挂起流程,
2,生成流程图,
1.2.4 RuntimeService
它是 activiti 的流程运行管理类。可以从这个服务类中获取很多关于流程执行相关的信息
1.2.5 TaskService
是 activiti 的任务管理类。可以从这个类中获取任务的信息。
1.2.6 HistoryService
是 activiti 的历史管理类,可以查询历史信息,执行流程时,引擎会保存很多数据(根据配置),比 如流程实例启动时间,任务的参与者, 完成任务的时间,每个流程实例的执行路径,等等。 这个 服务主要通过查询功能来获得这些数据。
1.2.7 ManagementService
是 activiti 的引擎管理类,提供了对 Activiti 流程引擎的管理和维护功能,这些功能不在工作流驱动 的应用程序中使用,主要用于 Activiti 系统的日常维护。