本篇文章为你整理了activity学习笔记(activity入门)的详细内容,包含有activity learn activity入门 activity6.0教程 activitybook activity学习笔记,希望能帮助你了解 activity学习笔记。
activiti是什么?
业务流程管理(BPM)框架,开发人员可直接通过手绘流程图的方式,实现业务流程的控制。
官网:http://www.activiti.org/
下载:http://www.activiti.org/download.html
核心思想:Engine(引擎)-将业务中核心规则抽象出来。以相对稳定的API计算表达式。
建模语言BPMN:Business Process Model And Notation(业务流程模型和符号),描述业务流程的一种建模标准。使用各种符号描述流程中的各种事件,通过符号间的连线描述一个完整的业务。
使用步骤:
部署acitiviti:
编辑定义流程(BPMN):
部署流程定义:
启动流程实例:
用户查询代办事项(Task):
用户办理完成任务:
流程结束:
25张表:act开头
re:静态数据和资源表
ru:运行过程中产生的数据
ge:通用数据
核心服务引擎:processEngine
RuntimeService:
TaskService:
HistoryService:
RepositoryService:
ProcessInstance:
ManagementService:
创建BPMN:
可以使用activiti-explorer编辑流程文件,或IDEA、Eclipse插件编辑。
可以参考这篇博文:Activiti介绍与官方demo使用(activiti-explorer)与25表的解析
单个部署流程定义,文件上传方式:
流程定义:
?xml version="1.0" encoding="UTF-8"?
project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
modelVersion 4.0.0 /modelVersion
groupId org.example /groupId
artifactId activitiDemo /artifactId
version 1.0-SNAPSHOT /version
properties
maven.compiler.source 8 /maven.compiler.source
maven.compiler.target 8 /maven.compiler.target
activiti.version 7.0.0.Beta1 /activiti.version
slf4j.version 1.7.7 /slf4j.version
log4j.version 1.2.12 /log4j.version
/properties
!--依赖:activiti mysql驱动包 mybatis log4j 数据库连接池--
dependencies
dependency
groupId org.activiti /groupId
artifactId activiti-engine /artifactId
version 7.0.0.Beta1 /version
/dependency
dependency
groupId org.activiti /groupId
artifactId activiti-spring /artifactId
version ${activiti.version} /version
/dependency
dependency
groupId org.activiti /groupId
artifactId activiti-bpmn-model /artifactId
version ${activiti.version} /version
/dependency
dependency
groupId org.activiti /groupId
artifactId activiti-bpmn-converter /artifactId
version ${activiti.version} /version
/dependency
dependency
groupId org.activiti /groupId
artifactId activiti-bpmn-layout /artifactId
version ${activiti.version} /version
/dependency
dependency
groupId org.activiti.cloud /groupId
artifactId activiti-cloud-services-api /artifactId
version ${activiti.version} /version
/dependency
dependency
groupId mysql /groupId
artifactId mysql-connector-java /artifactId
version 8.0.21 /version
/dependency
dependency
groupId org.mybatis /groupId
artifactId mybatis /artifactId
version 3.4.6 /version
/dependency
dependency
groupId commons-dbcp /groupId
artifactId commons-dbcp /artifactId
version 1.4 /version
/dependency
dependency
groupId junit /groupId
artifactId junit /artifactId
version 4.12 /version
scope test /scope
/dependency
dependency
groupId log4j /groupId
artifactId log4j /artifactId
version ${log4j.version} /version
/dependency
dependency
groupId org.slf4j /groupId
artifactId slf4j-api /artifactId
version ${slf4j.version} /version
/dependency
dependency
groupId org.slf4j /groupId
artifactId slf4j-log4j12 /artifactId
version ${slf4j.version} /version
/dependency
/dependencies
/project
日志信息配置文件
日志信息配置文件log4j.properties
log4j.rootCategory=debug, CONSOLE, LOGFILE
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.file=E:/act/activiti.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j,appender.LOGFILE.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n
Activiti引擎配置文件
Activiti引擎配置文件activiti.cfg.xml,配置数据连接信息。如果不指定默认使用H2数据库。这里配置使用mysql。
?xml version="1.0" encoding="UTF-8"?
beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"
bean id="processEngineConfiguration"
property name="jdbcUrl" value="jdbc:h2:mem:activiti;DB_CLOSE_DELAY=1000" /
property name="jdbcDriver" value="org.h2.Driver" /
property name="jdbcUsername" value="sa" /
property name="jdbcPassword" value="" /
property name="databaseSchemaUpdate" value="true" /
property name="jobExecutorActivate" value="false" /
property name="asyncExecutorEnabled" value="true" /
property name="asyncExecutorActivate" value="false" /
property name="mailServerHost" value="mail.my-corp.com" /
property name="mailServerPort" value="5025" /
!--数据库驱动--
property name="jdbcDriver" value="com.mysql.cj.jdbc.Driver"/
!--数据库连接--
property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti?useUnicode=true amp;characterEncoding=utf8 amp;useSSL=false amp;serverTimezone=UTC"/
!--数据库用户名--
property name="jdbcUsername" value="root"/
!--数据库密码--
property name="jdbcPassword" value="123456"/
!--false (默认): 当引擎启动时,检查数据库表结构的版本是否匹配库文件版本。版本不匹配时抛出异常。
true: 构建引擎时,检查并在需要时更新表结构。表结构不存在则会创建。
create-drop: 引擎创建时创建表结构,并在引擎关闭时删除表结构。--
property name="databaseSchemaUpdate" value="true"/
编写测试类,使用引擎工具类ProcessEngines.getDefaultProcessEngine()启动;
public class ActivitiTest {
@Test
public void testCreateDbTable(){
//需要使用activiti提供的工具类
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
System.out.println("****processEngine is :****"+processEngine);
以上就是activity学习笔记(activity入门)的详细内容,想要了解更多 activity学习笔记的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。