您现在的位置是:首页 > 文章详情

springboot2.0+activiti 7 整合(二)--运行一个简单的流程

日期:2019-11-20点击:741

根据上篇文章springboot2.0+activiti 7 整合(一)--初识activiti和创建数据库操作,已经把activiti的数据库创建完成;接下来运行一个简单的官方示例。官方demo
要运行一个activiti的demo,至少需要三部分:

  • activiti的API+springboot
  • activiti的数据库
  • bpmn文件

1、先查看数据库的任务表

查看act_ru_task表
刚新建的数据库是没有任务的。
TIM_20191121152803

2、创建bpmn文件

在resources目录下,创建一个processes的文件夹,再创建bpnm文件(one-task-process.bpmn20.xml)。注意:(activiti支持的是bpmn2.0,所有bpmn文件名一定是*.bpmn20.xml结尾),因为idea的绘制工具插件默认bpmn文件是bpmn结尾。

<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:activiti="http://activiti.org/bpmn" targetNamespace="Examples"> <process id="oneTaskProcess" name="The One Task Process"> <startEvent id="theStart" /> <sequenceFlow id="flow1" sourceRef="theStart" targetRef="theTask" /> <userTask id="theTask" name="my task" /> <sequenceFlow id="flow2" sourceRef="theTask" targetRef="theEnd" /> <endEvent id="theEnd" /> </process> </definitions>

3、配置application.yml

之前创建数据库的时候降低了mysql的版本,现在数据库创建完成,以后的调用可以使用开发过程中mysql的版本了。我这里就升级了mysql 的版本,使用
com.mysql.cj.jdbc.Driver

 spring: datasource: #数据源基本配置 username: root password: root url: jdbc:mysql://localhost/activiti?serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&nullCatalogMeansCurrent=true&useSSL=false&useLegacyDatetimeCode=false driver-class-name: com.mysql.cj.jdbc.Driver 

4、创建测试类

官方文档是写在main函数里面运行,我因为平时习惯使用测试类:

package com.example.activitidemo2; import org.activiti.engine.RepositoryService; import org.activiti.engine.RuntimeService; import org.activiti.engine.TaskService; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import javax.annotation.Resource; @SpringBootTest class ActivitiDemo2ApplicationTests { @Resource RepositoryService repositoryService; @Resource RuntimeService runtimeService; @Resource TaskService taskService; @Test void contextLoads() { System.out.println("Number of process definitions : " + repositoryService.createProcessDefinitionQuery().count()); System.out.println("Number of tasks : " + taskService.createTaskQuery().count()); runtimeService.startProcessInstanceByKey("oneTaskProcess"); System.out.println("Number of tasks after process start: " + taskService.createTaskQuery().count()); } } 

运行结果应如下:

Number of process definitions : 1 Number of tasks : 0 Number of tasks after process start: 1 

5、再查看数据库

查看act_ru_task表
TIM_20191121152609

多运行几次测试程序,任务的数量也会不断增多。

到此一个流程就启动起来了,接下来开始绘制我们自己的业务流程图并运行。

原文链接:https://yq.aliyun.com/articles/727714
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章