activiti5.20简单介绍(六) -- 流程引擎和流程服务

时间:2022-02-17 18:09:58

1.不使用配置文件创建

 

 

// 不使用配置文件创建
ProcessEngineConfiguration config = new
StandaloneProcessEngineConfiguration();
config.setJdbcDriver("com.mysql.jdbc.Driver");
config.setJdbcUrl("jdbc:mysql://localhost:3306/test");
config.setJdbcUsername("root");
config.setJdbcPassword("root123");
config.setDatabaseSchema("true");
ProcessEngine engine = config.buildProcessEngine();
System.out.println(engine);

2.加载默认配置文件创建

 

 

// 加载默认配置文件 activiti.cfg.xml
ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
System.out.println(engine);

3.自定义配置文件创建

 

// 自定义加载配置文件
ProcessEngineConfiguration config =
ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
ProcessEngine engine = config.buildProcessEngine();

4.流程引擎

1)流程引擎是整个activiti的核心,所有的service都需要通过流程引擎来获得

2)流程引擎会在创建的时候检查数据库表是否存在,如果不存在则会跑出异常,若要让引擎自动建表,则需要在配置文件添加

 

<property name="databaseSchemaUpdate" value="true"></property>

3activiti支持链式编程

5.service服务

1.仓库服务

 

/** 仓库服务 */
RepositoryService repositoryService = engine.getRepositoryService();


仓库服务是存储相关的服务,一般用来部署流程文件,获取流程文件,查询流程定义信息等操作,是引擎中的一个重要的服务

 

2.运行时服务

 

/** 运行时服务 */
RuntimeService runtimeService = engine.getRuntimeService();

流程运行时的流程实例,流程定义,流程版本,流程节点等信息,使用运行时服务操作,是引擎中的一个重要的服务

 

3.任务服务

 

/** 任务服务 */
TaskService taskService = engine.getTaskService();

流程运行时的会产生任务,接收、办理、完成等操作使用任务服务完成,是引擎中的一个重要的服务

 

4.认证服务

 

/** 认证服务 */
//一般不使用自带的认证服务,每个系统都有自己的认证系统
IdentityService identityService = engine.getIdentityService();

流程运行过程中的一些用户信息,组信息等操作使用认证服务,但是认证服务一般只作为辅助,每一个系统都有一个比较完整的人员系统

 

5.历史服务

 

/** 历史服务 */
HistoryService historyService = engine.getHistoryService();

流程运行时,和运行完成之后的一些历史信息,包括历史任务,历史节点灯,是引擎中的一个重要的服务

 

6.表单服务

 

/** 表单服务 */
FormService formService = engine.getFormService();

流程运行时的任务表单信息,是引擎中的一个辅助的服务

 

8.动态流程服务(新增)

 

/** 动态流程服务 */
DynamicBpmnService dynamicBpmnService = engine.getDynamicBpmnService();

一个新增的服务,用于动态修改流程中的一些参数信息等,是引擎中的一个辅助的服务