【Activiti7】服务架构(第四章)

在新版本中,我们通过实验可以发现 IdentityService,FormService两个 Serivce都已经删除了。 所以后面我们对于这两个 Service 也不讲解了,但老版本中还是有这两个 Service,同学们需要了解一下

ProcessEngineConfiguration:

流程引擎的配置类,通过 ProcessEngineConfiguration可以创建工作流引擎 ProceccEngine,常用的两

种方法如下

Activiti可以单独运行,使用它创建的 ProcessEngine,Activiti 会自己处理事务。

配置文件方式:通常在activiti.cfg.xml 配置文件中定义一个 id 为 processEngineConfiguration 的 bean,这里会使用 spring的依赖注入来构建引擎。

方法如下:

<<log4j.properties>>

<<activiti.cfg.xml>>

SpringProcessEngineConfiguration :通过 org.activiti.spring.SpringProcessEngineConfiguration与 Spring 整合。

创建 spring 与 activiti的整合配置文件:

activity-spring.cfg.xml(名称不固定)

创建 processEngineConfiguration

ProcessEngineConfiguration configuration =ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml")

上边的代码要求 activiti.cfg.xml中必须有一个 processEngineConfiguration 的 bean也可以使用下边的方法,更改 bean的名字:

ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(Stringresource, String beanName);

ProcessEngine :工作流引擎,相当于一个门面接口,通过 ProcessEngineConfiguration 创建 processEngine,通过ProcessEngine创建各个 service 接口。

一般创建方式

//通过ProcessEngineConfiguration创建ProcessEngine

ProcessEngineprocessEngine = processEngineConfiguration.buildProcessEngine();

简单创建方式

将activiti.cfg.xml 文件名及路径固定,且 activiti.cfg.xml文件中有 processEngineConfiguration的配置,

可以使用如下代码创建 processEngine:

//使用classpath下的activiti.cfg.xml中的配置创建processEngine

ProcessEngineprocessEngine = ProcessEngines.getDefaultProcessEngine();

System.out.println(processEngine);

Service 创建方式

通过 ProcessEngine 创建 Service,Service是工作流引擎提供用于进行工作流部署、执行、管理的服务接口。方式如下:

RuntimeService runtimeService =processEngine.getRuntimeService();

RepositoryService repositoryService =processEngine.getRepositoryService();

TaskService taskService =processEngine.getTaskService();

1:RepositoryService :是 activiti 的资源管理类,提供了管理和控制流程发布包和流程定义的操作。使用工作流建模工具设计的业务流程图需要使用此service 将流程定义文件的内容部署到计算机。 除了部署流程定义以外还可以:查询引擎中的发布包和流程定义。 暂停或激活发布包,对应全部和特定流程定义。 暂停意味着它们不能再执行任何操作了,激活

是对应的反向操作。获得多种资源,像是包含在发布包里的文件, 或引擎自动生成的流程图。获得流程定义的 pojo 版本, 可以用来通过 java 解析流程,而不必通过 xml。

2:RuntimeService :它是activiti 的流程运行管理类。可以从这个服务类中获取很多关于流程执行相关的信息

3:TaskService :是 activiti 的任务管理类。可以从这个类中获取任务的信息。

4:HistoryService:是 activiti 的历史管理类,可以查询历史信息,执行流程时,引擎会保存很多数据(根据配置),比如流程实例启动时间,任务的参与者,完成任务的时间,每个流程实例的执行路径,等等。 这个服务主要通过查询功能来获得这些数据。

5:ManagementService 是 activiti 的引擎管理类,提供了对 Activiti 流程引擎的管理和维护功能,这些功能不在工作流驱动的应用程序中使用,主要用于Activiti系统的日常维护。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

duguoqing_not

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值