在mysql中创建数据库
第一步:创建java工程activiti测试环境
创建java工程,当作activiti测试环境。
第二步:
向该工程加入jar包
上边:activiti单独 运行的jar
Activiti在运行时依赖spring
下边:activiti和spring整合后的jar包(使用这里边的jar包)
包括:activiti和spring的所有jar、数据库驱动、dbcp连接池..
第三步:配置activiti.cfg.xml
该配置文件是spring的配置文件,
Activiti通过该文件创建processEngineConfiguration,通过processEngineConfiguration创建processEngine
在classpath下创建activiti.cgf.xml文件:
包括:数据源、processEngineConfiguration
配置数据库执行策略
关于processEngineConfiguration中的databaseSchemaUpdate参数,通过此参数设计activiti数据表的处理策略,参数如下:
false(默认):检查数据库表的版本和依赖库的版本, 如果版本不匹配就抛出异常。
true: 构建流程引擎时,执行检查,如果需要就执行更新。 如果表不存在,就创建。(常用)
create-drop: 构建流程引擎时创建数据库表, 关闭流程引擎时删除这些表。
drop-create:先删除表再创建表。(常用,使用完成后改为true)
create: 构建流程引擎时创建数据库表, 关闭流程引擎时不删除这些表。
第四步:编写日志 文件
log4j.properties
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
第五步:编写程序
Java程序创建数据库思路:
通过java程序创建activiti核心引擎对象(ProceccEngine),创建引擎对象时候,自动检测数据库环境,根据设置activiti数据库操作策略,操作数据库。
第六步:数据库完成
总共23张表
表的命名规则:
Activiti的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。
- ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
- ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
- ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等等。
- ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。
- ACT_GE_*: GE表示general。通用数据, 用于不同场景下。