activiti6教程四

本节将结合官方绘图工具和API进行一次整合

  • 首先绘制流程图如下

 图中${pass==1}和${pass==0}为网关执行条件,当pass==1时候执行t2任务当pass==0时t4路线,设置方法为点击那条连接线,选择Flow condition输入 ${pass==1},那么在后续中只要我们将activiti中改变pass的变量的值就能控制流程的走向

 

 

 

设置message事件,点击图中空白处,选择message definitions 添加一个消息事件,这边添加了一个mes1事件

点击图中t3里面边界消息事件图标

 

 点击message reference 下拉框选择上一步添加的mes1事件,这样这个边界消息事件就和mes1消息做了绑定,当流程走到t3时我们就可以手动发出mes1消失,由于t3订阅了mes1消息那么流程就会完成回退,回到t2节点

 

  • 设置监听器

将监听器所在路径填入t1的

 

 

选择Event事件类型为complete,同理你可以设置为create,在任务到达这个节点时触发监听器,这里设置的是任务完成时候触发监听器

 

 

  • 接下来把流程打包发布 

 点击顶部Apps按钮,点击create App按钮

设置发布的包名

点击下图按钮将你刚才保存的流程图导入,然后点击左上角的保存即可

 点击右上角publish既完成发布,现在后端管理流程维护基本结束

回到首页点击 Task App模块

点击方面的Processes按钮,再点击 start a process就可以看见我们之前发布的atest流程我们可以在这个模块中开启流程,完成流程,接下来这些步骤我们通过调用官方提供的API来实现

 

 

 

 

 

调用前端API步骤

首先新建一个maven工程,在pom中引入

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <version>1.5.19.RELEASE</version>
    <scope>test</scope>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.44</version>
</dependency>

<dependency>
    <groupId>org.activiti</groupId>
    <artifactId>activiti-spring-boot-starters</artifactId>
    <version>6.0.1-SNAPSHOT</version>
</dependency>

 

注入如果你使用的是中央仓库,则无法引入6.0.1这个activiti版本的starter,需要参考前面章节自行下载便也打包

接下来是设置SpringBoot配置文件中的数据源,这个数据源必须和前面不是的activiti-app工程的数据源相同,因为这两个工程是公用一个数据库(不然在后端部署的流程前端怎么看的见)。

接下来编写测试代码

  • 第一步我们先刚才我们部署的流程是否成功

我们可以通过debug模式查看Deployment中的数据结构,可以发现里面包含了一些部署信息

  • 接下来我们设置流程的发起人并且开始一个这个流程 ,并返回一个流程实例,由于我们这个流程的key设置为atest所以我们把atest传入api,api中还提供了很多种开启流程的方法,这个可以自行去RuntimeService接口中查找

 

  •  接下来我们根据任务发起人去查询该用户下有多少任务,并且去完成任务

我们看到当执行complete方法时之前设置的监听器已经生效并且打印出代码 

我们执行最后一段代码发现现在任务已经到达一下个节点t2

  •  下面我们继续进行回退

调用API taskService.complete()方法将任务执行到t3任务节点,现在我们要发起回退,现在流程已经到达t3节点

 

调用api发起一个回退时间mes1

接下来调用查询方法发现现在流程已经回退到t2节点

最后附上代码github地址

https://github.com/liushprofessor/activititest

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值