1>activiti.cfg.xml
是一个spring配置文件,是activiti的核心配置文件
2》ProcessEngineConfiguration
ProcessEngineConfiguration用于创建 ProcessEngine
Activiti单独运行:StandaloneProcessEngineConfiguration
Activiti和spring整合运行:SpringProcessEngineConfiguration
3>ProcessEngine
ProcessEngine 是一个门面接口,引擎核心对象,通过ProcessEngine就可以获取各各service
4》Service
RepostitoryService:用于资源管理,用于:流程定义部署、查询流程定义资源
TaskService:任务管理,用于个人任务、组任务。
RuntimeService:流程当前运行管理,用于:启动一个流程实例是、查询当前运行的流程。。
historyService:流程历史管理。
identityService:用户身份管理,用于:创建用户、组、用户和组的关系 …
表的命名规则:
Activiti的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等。
ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等等。
ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。
ACT_GE_*: GE表示general。通用数据, 用于不同场景下。
Activiti核心配置文件:activiti.cfg.xml
ProcessEngineConfiguration:通过activiti.cfg.xml创建。
ProcessEngine:通过ProcessEngineConfiguration创建
Service:通过ProcessEngine获取。 (核心重点)
流程定义部署数据库操作:
执行流程定义部署后,向下边表中写数据:
SELECT * FROM act_re_deployment #流程定义部署表
记录每一次流程部署的信息,一次部署只写一条记录。
字段:
Id_:部署id
SELECT * FROM act_re_procdef #流程定义信息表
记录每一次部署的流程定义信息,一次部署可以部署多个流程定义。
字段:
id_:流程定义id
结构:流程定义key:流程定义版本:流水号
Name_:流程定义名称,用户要查询
Key_:流程定义的标识,一个流程定义一个key,不管版本号,一个采购流程就是一个key
Version_:流程定义的版本号,相同的key,每次部署版本号自动增加1
Deployment_Id_:对应的流程部署表的id
RESOURCE_NAME_:流程定义资源中bpmn文件的名称
DGRM_RESOURCE_NAME_:流程定义资源中png文件的名称
act_re_deployment和act_re_procdef是一对多关系 。
SELECT * FROM act_ge_bytearray #资源表(通用表)
记录了流程定义的资源信息(bpmn和png)
*.bpmnxml里有一个key是流程标识,部署流程时候,可以是多个bpmnxml,也就是可以同时部署多个流程定义,但是一般一次部署一个。部署产生部署id,流程定义id存入表里。
把流程定义发布到Activiti引擎后,我们可以基于它发起新流程实例(流程实例id)。 对每个流程定义,都
可以很多流程实例。 流程定义是“蓝图”,流程实例是它的一个运行的执行。
所与流程运行状态相关的东西都可以通过RuntimeService获得。