idea2021+Activiti【最完整笔记一(基础使用)】

Activiti从0到1

概要:工作流引擎,实现业务表与工作流的分离,便于开发。
技术使用:采用activiti7版本,mysql数据库,Maven、idea2021、Activiti BPMNvisualizer插件,Camunda Modeler流程图设计器。


一、前期准备


1、Activiti BPMN visualizer插件安装
(一)setting的Plugins中搜索并点击installed

(二)在此处可看到创建BPMN文件、或者可以编辑即可
在这里插入图片描述
在这里插入图片描述
2、Camunda Modeler流程图设计器安装

问题:有了Activiti BPMN visualize为什么还要安装呢?
第一点:idea2021不能兼容常用的actiBPM。
第二点:Activiti BPMN visualize找不到加入监听器的功能(后续讲到)。
第三点:关于 assignee 失效。解决办法:将camunda 替换为 activiti,命名空间改为activity的命名空间,1、加入xmlns:activiti=“http://activiti.org/bpmn”,2、camunda改为activiti

(一)安装路径
链接:https://pan.baidu.com/s/10_W1VpduQXxCSitSKXxM7Q
提取码:6666
下载完成解压即可使用。

(二)idea配置Camunda Modeler
File > setting > Tools > External tool > 点击+号
在这里插入图片描述
(三)在此处可看见有新增的工具即可
在这里插入图片描述

3、创建项目后进行Maven配置

 <!-- activiti 的相关包 mysql的驱动包 mybatis log4j 数据库链接池-->
    <properties>
        <slf4j.version>1.6.6</slf4j.version>
        <log4j.version>1.2.12</log4j.version>
        <activiti.version>7.0.0.Beta1</activiti.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-engine</artifactId>
            <version>${activiti.version}</version>
        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring</artifactId>
            <version>${activiti.version}</version>
        </dependency>
        <!-- bpmn 模型处理 -->
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-bpmn-model</artifactId>
            <version>${activiti.version}</version>
        </dependency>
        <!-- bpmn 转换 -->
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-bpmn-converter</artifactId>
            <version>${activiti.version}</version>
        </dependency>
        <!-- bpmn json数据转换 -->
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-json-converter</artifactId>
            <version>${activiti.version}</version>
        </dependency>
        <!-- bpmn 布局 -->
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-bpmn-layout</artifactId>
            <version>${activiti.version}</version>
        </dependency>
        <!-- activiti 云支持 -->
        <dependency>
            <groupId>org.activiti.cloud</groupId>
            <artifactId>activiti-cloud-services-api</artifactId>
            <version>${activiti.version}</version>
        </dependency>
        <!-- mysql驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.40</version>
        </dependency>
        <!-- mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</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>
        </dependency>
        <!-- log start -->
        <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>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.6</version>
        </dependency>
    </dependencies>

4、activiti配置文件(activiti.cfg.xml放于resource文件夹下)
在这里插入图片描述

<?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">
    
    <!--dbcp链接池-->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql:///activiti?nullCatalogMeansCurrent=true"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
        <property name="maxActive" value="3"/>
        <property name="maxIdle" value="1"/>
    </bean>

    <!--在默认方式下 bean的id  固定为 processEngineConfiguration-->
    <bean id="processEngineConfiguration"
          class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
        <!--直接引用上面配置的链接池-->
        <property name="dataSource" ref="dataSource"/>
        <!--actviti数据库表在生成时的策略
        true - 如果数据库中已经存在相应的表,那么直接使用,
               如果不存在,那么会创建-->
        <property name="databaseSchemaUpdate" value="true"/>
    </bean>
</beans>

二、流程图制作


(一)首先创建一个bpmn2.0文件,然后编辑,上述有提到。
在这里插入图片描述
(二)右键可创建组件
在这里插入图片描述
(三)连线点击右上角的箭头并拖动到其他组件中
在这里插入图片描述

在这里插入图片描述
(四)创建完毕后可通过Camunda Modeler打开文件
在这里插入图片描述
(五)创建一个较为完整的流程图
在这里插入图片描述
(六)生成流程图片(方式一)
在这里插入图片描述
生成流程图片(方式二)
在这里插入图片描述


三、创建activiti表与了解其结构


(一)创建activiti表方式一:

1、使用方法getDefaultProcessEngine
2、默认从resources下读取名字为actviti.cfg.xml的文件
3、创建processEngine时,就会创建mysql的表

	//默认方式
	ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
	RepositoryService repositoryService = processEngine.getRepositoryService();
	repositoryService.createDeployment();
	//获取流程引擎对象(此时创建activiti的表)
    ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();

(二)创建activiti表方式二:

配置文件的名字可以自定义,bean的名字也可以自定义

	ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.
	createProcessEngineConfigurationFromResource("activiti.cfg.xml","processEngineConfiguration");
	//获取流程引擎对象(此时创建activiti的表)
    ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();

(三)了解activiti表结构

  1. act_hi_*:'hi’表示 history,历史数据。
  2. act_ge_*:'ge’表示 general,通用数据。
  3. act_evt_*:'evt’表示 event,事件日志。
  4. act_procdef_*:'procdef’表示processdefine,流程定义信息。
  5. act_re_*:'re’表示 repository,静态资源。
  6. act_ru_*:'ru’表示 runtime,表示运行时数据。
    在这里插入图片描述

通用数据表:(ge)

表名

说明

act_ge_bytearray

存储通用的流程定义和流程资源

act_ge_bytearray

存储整个流程引擎级别的数据

流程定义表:(re)

表名

说明

act_re_model

流程设计模型部署数据

act_re_deployment

部署信息数据表

act_re_procdef

流程定义数据

运行实例表:(ru)

表名

说明

act_ru_deadletter_job

作业失败超过重试次数部署数据

act_ru_event_subscr

运行时事件数据

act_ru_execution

运行时流程执行实例数据

act_ru_identitylink

运行时用户信息数据

act_ru_integration

运行时积分数据

act_ru_suspended_job

运行时作业暂停数据

act_ru_task

运行时任务信息数据

act_ru_timer_job

运行时定时器作业表

act_ru_variable

运行时变量信息表

act_ru_job

运行时作业信息数据

历史流程表:(hi)

表名

说明

act_hi_actinst

历史节点数据

act_hi_attachment

历史附件

act_hi_comment

历史意见数据

act_hi_detail

历史详情

act_hi_identitylink

历史流程用户信息数据

act_hi_procinst

历史流程实例数据

act_hi_taskinst

历史任务实例数据

act_hi_varinst

历史变量数据

其他表:

表名

说明

act_evt_log

通用事件日志记录数据

act_procdef_info

流程定义的动态变更信息数据


  • 9
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值