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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 根据上篇文章springboot2.0+activiti 7 整合(一)--初识activiti和创建数据库操作,已经把activiti的数据库创建完成;接下来运行一个简单的官方示例。官方demo要运行一个activiti的demo,至少需要三部分:activiti的API+springbootactiviti的数据库bpmn文件1、先查看数据库的任务表查看act_ru_task表刚新建的数据库是没有任务的。

根据上篇文章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

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

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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4天前
|
关系型数据库 MySQL Java
基于SpringBoot+Vue旅游管理系统【源码(完整源码请私聊)+论文+演示视频+包运行成功】
基于SpringBoot+Vue旅游管理系统【源码(完整源码请私聊)+论文+演示视频+包运行成功】
10 0
基于SpringBoot+Vue旅游管理系统【源码(完整源码请私聊)+论文+演示视频+包运行成功】
|
4天前
|
安全 JavaScript Java
基于SpringBoot+Vue论坛管理系统【源码(完整源码请私聊)+论文+演示视频+包运行成功】
基于SpringBoot+Vue论坛管理系统【源码(完整源码请私聊)+论文+演示视频+包运行成功】
13 0
基于SpringBoot+Vue论坛管理系统【源码(完整源码请私聊)+论文+演示视频+包运行成功】
|
4天前
|
Java 数据安全/隐私保护 Python
基于SpringBoot+Vue简历系统【源码(完整源码请私聊)+论文+演示视频+包运行成功】(2)
基于SpringBoot+Vue简历系统【源码(完整源码请私聊)+论文+演示视频+包运行成功】
9 0
基于SpringBoot+Vue简历系统【源码(完整源码请私聊)+论文+演示视频+包运行成功】(2)
|
4天前
|
存储 安全 Java
基于SpringBoot+Vue简历系统【源码(完整源码请私聊)+论文+演示视频+包运行成功】(1)
基于SpringBoot+Vue简历系统【源码(完整源码请私聊)+论文+演示视频+包运行成功】
10 0
|
4天前
|
数据安全/隐私保护
基于SpringBoot+Vue高校校园点餐系统【源码(完整源码请私聊)+论文+演示视频+包运行成功】(2)
基于SpringBoot+Vue高校校园点餐系统【源码(完整源码请私聊)+论文+演示视频+包运行成功】
9 0
|
4天前
|
存储 JavaScript 前端开发
基于SpringBoot+Vue高校校园点餐系统【源码(完整源码请私聊)+论文+演示视频+包运行成功】(1)
基于SpringBoot+Vue高校校园点餐系统【源码(完整源码请私聊)+论文+演示视频+包运行成功】
11 0
|
4天前
|
定位技术 数据安全/隐私保护 索引
基于SpringBoot+Vue车辆充电桩【源码(完整源码请私聊)+论文+演示视频+包运行成功】(2)
基于SpringBoot+Vue车辆充电桩【源码(完整源码请私聊)+论文+演示视频+包运行成功】
16 0
|
4天前
|
关系型数据库 MySQL Java
基于SpringBoot+Vue车辆充电桩【源码(完整源码请私聊)+论文+演示视频+包运行成功】(1)
基于SpringBoot+Vue车辆充电桩【源码(完整源码请私聊)+论文+演示视频+包运行成功】
13 0
|
4天前
|
数据安全/隐私保护
基于SpringBoot+Vue餐厅点餐系统【源码+论文+演示视频+包运行成功(私聊)】(2)
基于SpringBoot+Vue餐厅点餐系统【源码+论文+演示视频+包运行成功(私聊)】
11 0
|
4天前
|
存储 JavaScript 前端开发
基于SpringBoot+Vue餐厅点餐系统【源码+论文+演示视频+包运行成功(私聊)】(1)
基于SpringBoot+Vue餐厅点餐系统【源码+论文+演示视频+包运行成功(私聊)】
9 0