大家好,又见面了,我是你们的朋友全栈君。
为什么要写这篇 因为刚开始学在网上看了很多 踩了很多坑 最后在一位热心网友的帮助下 我才完成了这次Hello Activiti
最近研究 Activiti 从零开始学,网上资料很多 ,大致看了准备写个Demo,一切的框架从一个Demo开始
因为公司用Springboot搭建的所以我就用 Springboot + Activiti 来写一个Demo
首先是pom.xml
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.ibatis</groupId>
<artifactId>ibatis-core</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter-basic</artifactId>
<version>5.21.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
properies配置
spring.datasource.url=jdbc:mysql://localhost:3306/activiti-base?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root123
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#自动创建、更新、验证数据库表结构
spring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.show-sql=true
spring.activiti.check-process-definitions=false
然后画一个流程图 我用的是STS 其实就是Eclipse 安装一个Activiti的插件就行(自行百度一下
大家注意一下这个文件的路径啊 (一个新手踩过的坑
流程图画完了 我们就可以给这个跑起来啦 至于那些接口实现类什么的 我还没看呢 毕竟我也是一个新手
现在告诉大家怎么给这个流程图跑起来
重点来了 我看了那么多博客没有一个告诉我说要先把流程部署起来他才能run
所以我们先部署
在你的测试类中写
@Test
public void contextLoads() {
// 1. 部署一个流程定义 [我记得是有3种方式]
Deployment deployment = repositoryService
.createDeployment() // 创建一个Deployment
.name(“test流程”) // 给流程起的一个名字
.addClasspathResource(“processes/MyProcess.bpmn”) // bpmn的路径 你这里没有png图片 ,所以 就用这一个
.deploy();
System.out.println(“流程部署ID:” +deployment.getId());
System.out.println(“流程部署时间:” +deployment.getDeploymentTime());
System.out.println(“流程部署名称:” +deployment.getName());
然后run一下
然后去你的数据库看一下
你会发现多了一些表 这些就是activiti的表
部署完之后你会在 act_re_deployment -> 流程部署表 这个表中发现你部署的项目 就说明你的项目部署上了 现在可以run了
@Test
public void startProcessInstance() {
// ok 部署完成之后让我们启动这个流程
runtimeService.startProcessInstanceByKey(“myProcess”);
}
run完了之后 act_hi_procinst -> 流程实例表 这个表中你可以看见你的流程图run出来的实例
部署一个流程这个表中就会有一个实例
然后你可以观察一下 act_ru_task -> 任务表(正在执行的任务)、act_ho_taskinst -> 历史任务 这两个任务
历史任务表里已经有了一条记录。但是他的状态是未完成
看正在执行的任务表,里面也有一条数据。这是当前正在执行的任务。
ok 这个小Demo完成了
代码已经放到马云上了 https://gitee.com/mike_liu/Activiti_Demo.git 欢迎大家下载查看
转载于:https://my.oschina.net/u/3842181/blog/1799866
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107565.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...