activity 原码解析

本文详细介绍了Activiti工作流引擎的部署与配置过程,包括入口类注册、Mybatis配置加载及动态配置属性修改等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

activiti 入口类

注册类

org.activiti.spring.boot.ProcessEngineAutoConfiguration 进行注册
ProcessEngineAutoConfiguration extends > AbstractProcessEngineAutoConfiguration -> 实例化各种对象 实例 加载到spring中
SpringProcessEngineConfiguration conf = = new SpringProcessEngineConfiguration();
conf .springProcessEngineConfiguration() 方法

加载到Mybatis

SpringProcessEngineConfiguration extends ProcessEngineConfigurationImpl
ProcessEngineConfigurationImpl.buildProcessEngine().init();
if (usingRelationalDatabase) {
initSqlSessionFactory();
}
initSqlSessionFactory().getMyBatisXmlConfigurationStream() 加载 下面的mappers.xml Input
ProcessEngineConfigurationImpl.DEFAULT_MYBATIS_MAPPING_FILE 加载mybatis配置到spring 中
ProcessEngineConfigurationImpl.initDataManagers() 加载Manager到
initDataManagers() 可以配置数据库
.initSessionFactories().initDbSqlSessionFactory()
---- end init
----- start mybatis
AbstractProcessEngineAutoConfiguration 进行注册 RuntimeService 等一系列的bean(这里进行具向化 加载为spring内部的一个实例)
ProcessEngineConfigurationImpl 这个类是真正的初始化
new RuntimeService()

activiti.engine.impl.persistence.entity.data.AbstractDataManager
进行管理 整合Mapper 连接数据库与 Mapper.xml 之间的关系
ServiceImpl
org.activiti.engine.impl.persistence.AbstractManager 加载实体对应的ManagerImpl == Dao
org.activiti.engine.impl.persistence.entity.AbstractEntityManager 加载对应Mapper的 实体 Entity == 实体

org.activiti.engine.impl.persistence.entity.TableDataManagerImpl 加载实体对应表名
TableDataManagerImpl.getTablesPresentInDatabase 获取实例对应表名
----- end mybatis
---- start config

动态修改配置属性

实现接口 ProcessEngineConfigurationConfigurer
ProcessEngineConfigurationConfigurer configure 进行对 配置文件进行修正
---- end config
配置数据库前缀 dw.
databaseTablePrefix
tablePrefixIsSchema = true
成对出现 tablePrefixIsSchema 如果有true databaseTablePrefix
成对出现 tablePrefixIsSchema 如果有false databaseTablePrefix
dbSqlSessionFactory.setDatabaseTablePrefix(databaseTablePrefix);

实现应用

发布

带整理

查询

带整理

删除

带整理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值