activity 原码解析
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);
实现应用
发布
带整理
查询
带整理
删除
带整理