Activiti工作流入门讲解及activiti环境搭建,自动建表(一)

2023-10-20 22:30

本文主要是介绍Activiti工作流入门讲解及activiti环境搭建,自动建表(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一. Activiti入门

       工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。
       通俗的说,流程就是多个人在一起合作完成某件事情的步骤,把步骤变成计算机能理解的形式就是工作流。

工作流主要实现功能

       工作流管理系统(WorkflowManagement System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流规则进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。

        工作流管理联盟(WfMC,Workflow Management Coalition)给出的关于工作流管理系统的定义是:工作流管理系统是一个软件系统,它通过执行经过计算的流程定义去支持一批专门设定的业务流程。工作流管理系统被用来定义、管理、和执行工作流程

1、定义工作流:包括具体的活动、规则等。eclipse或者myeclipse安装activiti插件

2、执行工作流:按照流程定义的规则执行,并由多个参与者进行控制。顺序、分支、聚合、并发

工作流系统的优点:

1、提高系统的柔性,适应业务流程的变化 

2、实现更好的业务过程控制,提高顾客服务质量

3、降低系统开发和维护成本

l工作流框架有:Activiti、JBPM、OSWorkflow、ActiveBPEL、YAWL等。

Activiti数据库支持:

Activiti的后台是有数据库的支持,所有的表都以ACT_开头。第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。

ACT_RE_*: 'RE'表示repository。这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。

ACT_RU_*: 'RU'表示runtime。这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。这样运行时表可以一直很小速度很快。

ACT_ID_*: 'ID'表示identity。这些表包含身份信息,比如用户,组等等。

ACT_HI_*: 'HI'表示history。这些表包含历史数据,比如历史流程实例, 变量,任务等等。

ACT_GE_*: 通用数据,用于不同场景下,如存放资源文件。

表结构解析:http://blog.csdn.net/hj7jay/article/details/51302829

二.准备环境

lactiviti5软件环境
lJDK1.6或者更高版本
l支持的数据库有:h2,mysql, oracle,postgres,mssql, db2等。
l支持activiti5运行的jar
l开发环境为Eclipse3.7或者以上版本,myeclipse8.6版本或以上版本
l
l相关资源下载
lJDK可以到sun的官网下载
lhttp://www.oracle.com/technetwork/java/javase/downloads/index.html
l数据库,例如:mysql可以在官网上下载。
lhttp://www.mysql.com
lactiviti也可以到Activiti官方网站下载得到。
lhttp://activiti.org/download.html
lEclipse3.7或者MyEclipse8.6也可以到相应的网站上获得下载。
l安装流程设计器(Eclipse插件

下载地址:http://download.csdn.net/detail/qciwyy/9705365
l在没有网络的情况下,安装流程设计器步骤如下:
 解压压缩包中的内容放入eclipse根目录的dropins文件夹下
 重启eclipse,点击新建工程new->Other…打开面板,可以看到Activiti选项。

l准备Activiti的开发环境

1创建java项目

2、添加jar

3、新建数据库activiti_1110(MySQL数据库)


二.初始化数据库

方法一:使用代码:(不使用配置文件,不建议)

/*** 使用框架提供的自动建表(不提供配置文件)*/@Testpublic void test1() {// 创建一个流程引擎配置对象ProcessEngineConfiguration conf = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();// 设置数据源信息conf.setJdbcDriver("com.mysql.jdbc.Driver");conf.setJdbcUrl("jdbc:mysql://localhost:3306/activiti_1110");conf.setJdbcUsername("activiti_1110");conf.setJdbcPassword("activiti_1110");// 设置自动建表conf.setDatabaseSchemaUpdate("true");// 创建一个流程引擎对象,在创建流程引擎对象过程中会自动建表ProcessEngine processEngine = conf.buildProcessEngine();}


方法二:使用配置文件:要求配置文件名称必须为activiti-context.xml或者activiti.cfg.xml,配置的信息必须为

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"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.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"><!-- 配置流程引擎配置对象 --><bean id="processEngineConfiguration"class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"><property name="jdbcDriver" value="com.mysql.jdbc.Driver" /><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti_1110" /><property name="jdbcUsername" value="activiti_1110" /><property name="jdbcPassword" value="activiti_1110" /><!-- 建表策略 --><property name="databaseSchemaUpdate" value="true" /></bean><!-- 配置一个流程引擎工厂bean,用于创建流程引擎对象 --><bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean"><!-- 通过set方法注入流程引擎配置对象 --><property name="processEngineConfiguration" ref="processEngineConfiguration" /></bean>
</beans>
JAVA代码

/*** 使用框架提供的自动建表(提供配置文件)---可以从框架提供的例子程序中获取*/@Testpublic void test2() {String resource = "activiti-context.xml";// 配置文件名称String beanName = "processEngineConfiguration";// 配置id值ProcessEngineConfiguration conf = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(resource,beanName);ProcessEngine processEngine = conf.buildProcessEngine();}

方法三:使用框架提供的自动建表(使用配置文件)

/*** 使用框架提供的自动建表(使用配置文件)*/@Testpublic void test3() {ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();}

方法四:  使用activiti框架提供的建表语句

activiti-engine.jar包中自带了创建activiti工作流数据库表的SQL语句和自动初始化数据库的方法。SQL语句在org.activiti.db.create包下,初始化方法在org.activiti.engine.impl.db.DbSchemaCreate的main方法之中。

使用MySQL数据库,执行以下选中的3个sql文件运行就可以成功创建23张表。


也可以从网上下载:http://download.csdn.net/detail/qciwyy/9705559


这篇关于Activiti工作流入门讲解及activiti环境搭建,自动建表(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/250121

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用