mysql数据库设计实现工作流_工作流activiti部署到数据库(1)

1.工作流定义(workflow):指"业务过程的部分或整体在计算机应用环境下的自动化".

b8f62f7853c2

普通框架要有一个请假单,要有一个字段来标识请假单的状态,至少有三个,还有请假单的状态是走到那个经理审批还是老板审批,这个时候不便管理.

BPM:业务流程管理框架,是用来管理流程的框架.

BPMN:业务流程的建模和标注,是用来描述流程的基本符号.

b8f62f7853c2

b8f62f7853c2

1.activiti安装流程

2.1)安装eclipse的activiti插件

手动安装(无网络也可以):下载activiti-eclipse-plugin.zip安装包后,解压缩之后把eclipse里面的features和plugins两个文件夹copy到eclipse的安装包里面的dropins下面的文件夹下.重启eclipse就好了,当在打开的时候能new  activiti的工程就是安装成功了.这里面需要设计一下:Window ------>preference---------->activiti------->save------>把对勾勾上(在保存的时候能产生png的图片)

b8f62f7853c2

在help窗口中install add软件 名字随便起,网址如上

b8f62f7853c2

安装插件成功,显示如此

2.2)需要数据库的支持,所以专门建立一个支持activiti的空的数据库.(是库不是表)

2.3)在eclipse中建立一个activiti的工程(目录结构是maven的结构)

a.导入jar包,+mysql的包

b8f62f7853c2

b.初始化数据库:在测试类中建立一个类.用来创建流程管理的23张系统表,不是业务的表,有两种方法.

第一种方法:在测试类中,用java代码实现

b8f62f7853c2

(1)

b8f62f7853c2

(2)

(3)初始化数据库环境,创建流程引擎的配置对象,他用来连接数据库,把jar包中sql语句创建的表输出部署到数据库中.

b8f62f7853c2

单例流程引擎对象

b8f62f7853c2

创建出来的流程引擎对象有两个作用:1.在数据库中部署23张表,2.相当于流程的接口,供业务使用

第二种方法(添加配置文件,一般使用这种方法)

b8f62f7853c2

(1)

b8f62f7853c2

(2)spring框架的配置文件

b8f62f7853c2

b8f62f7853c2

b8f62f7853c2

执行这个建表成功,流程所有的东西都是依赖于这个引擎对象

2.4)设计流程定义文档包括流程图和bpmn文件

a)

b8f62f7853c2

(1)名字以.bpmn后缀结束

b8f62f7853c2

(2)配置流程的属性

b8f62f7853c2

(3)设置task的第一个属性

b8f62f7853c2

(4)设置角色

b8f62f7853c2

(5)依次添加多个task,并且添加流flow,保存刷新,会出现人看的那个图片

b)把流程设计图部署到数据库中,有三个表发生了变化

b8f62f7853c2

b.1)   部署需要流程引擎,创建流程引擎

b8f62f7853c2

b.2)   有了repository那个接口后,部署流程

b8f62f7853c2

这是在test时产生的日志

b.3)查看数据库中的结果

b8f62f7853c2

第一张表:工作流部署表的变化(1)

b8f62f7853c2

上一张表的属性会有变化

b8f62f7853c2

空格文件变灰;第二张表的变化

b8f62f7853c2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354936.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

abd.exe 需要下java吗_Abd.exe文件下载|

abd.exe在哪个位置?abd.exe是一款很重要的电脑文件,如果这个文件丢失了,电脑部分程序将会无法正常运行,所以大家应该重视这类文件,小编已经将这个文件打包好了,欢迎大家来当易网下载。exe文件简介EXE File …

Spark面对OOM问题的解决方法及优化总结 (转载)

Spark面对OOM问题的解决方法及优化总结 (转载) 转载地址: http://blog.csdn.net/yhb315279058/article/details/51035631 Spark中的OOM问题不外乎以下两种情况map执行中内存溢出shuffle后内存溢出map执行中内存溢出代表了所有map类型的操作,包括&#xf…

通过此注释改善您的JUnit体验

JUnit可能是所有Java项目中90%的一部分。 令人兴奋的是,我们很快将拥有支持Java 8的JUnit 5 。 我们最近在博客上发表了一项改进 。 回到JUnit 4领域,有一个小技巧,我只能建议您进行所有单元测试。 只需在此处添加这个小注释&…

jdeveloper_JDeveloper中的Java反编译器

jdeveloperJava Decompiler是一个独立的图形实用程序,显示“ .class”文件的Java源代码。 下面是Java Decompiler程序的快照 您可以从这里下载该程序 我将说明如何在Jdeveloper中将此程序用作外部工具 Java Decompiler和Jdeveloper之间的集成 您可以将此程序添加…

文件上传 java 完美,vue+java实现文件上传(excel等),会出现跨域问题,直接用form表单提交就不会有问题了(new FormData())...

vuejava实现文件上传(excel等),会出现跨域问题,直接用form表单提交就不会有问题了(new FormData())地址:https://www.cnblogs.com/muscles/p/9503103.html一:首先说一下什么是跨域,跨域就是解决浏览器同源策略的问题。…

php private方法,php如何调用private方法

php调用private方法:首先定义一个parent类;然后在类的内部使用私有函数;接着实例化parent类,让其变成一个对象并赋值给“$obj”即可。将一个类实例化后就变成对象,私有函数只能在类内部使用,不能在类外&…

java flux api,SpringBoot学习系列-WebFlux REST API 全局异常处理

本文内容为什么要全局异常处理?WebFlux REST 全局异常处理实战小结摘录:只有不断培养好习惯,同时不断打破坏习惯,我们的行为举止才能够自始至终都是正确的。一、为什么要全局异常处理?前后端分离开发,一般提…

mvvm 后端_ZK实际应用:MVVM –与ZK客户端API一起使用

mvvm 后端在以前的文章中,我们已经使用ZK的MVVM实现了以下功能: 将数据加载到表中 使用表单绑定保存数据 删除条目并以编程方式更新视图 ZK MVVM和ZK MVC实现方式之间的主要区别是,我们不直接在controller(ViewModel&#xff0…

微信分享朋友圈固定缩略图 php,微信转发或分享朋友圈带缩略图、标题和描述的实现方法...

自己做博客以来,很早之前分享过文章至朋友圈,那个时候分享过去的文章自动获取页面的比例适合的图片为所缩略图:后期就很少分享至朋友圈, 近来分享文章给朋友后,发现不带缩略图和简介了,觉得这样很不好看&am…

java监控rabbitMq服务状态,SpringCloud-Turbine【RabbitMQ服务监控】

前面我们介绍了通过turbine直接聚合多个服务的监控信息,实现了服务的监控,但是这种方式有个不太好的地方就是turbine和服务的耦合性太强了,针对这个问题,我们可以将服务的监控消息发送到RabbitMQ中,然后turbine中Rabbi…

jpa 查询 列表_终极JPA查询和技巧列表–第1部分

jpa 查询 列表我们可以在Internet上找到一些JPA“如何做”,在本博客的此处,教您如何使用JPA执行多项任务。 通常,我看到有人问有关使用JPA进行查询的问题。 通常,为了回答此类问题,提供了几个链接以尝试找到该问题的解…

windows下php swoole扩展,Windows 下安装 swoole 图文教程(php)

Windows 下安装 swoole 具体步骤:Swoole,原本不支持在Windows下安装的,所以我们要安装Cygwin来使用。在安装Cygwin下遇到了很多坑,百度经验上的文档不是很全,所以我把自己安装Cygwin和Swoole写下来相当于对自己的沉淀吧。首先准备…

新CalendarFX视图:MonthGridView!

我和我的团队最近开始为CalendarFX创建新视图,其最初目标是在垂直列中显示整年。 该视图的名称是MonthGridView。 像往常一样,编码时目标略有变化。 该视图现在可以显示任意数量的月份,并且可以在前面或后面添加额外的月份。 现在&#xff0c…

php如何和c进行数据交换,PHP与 后台c交换数据 | 学步园

为什么要用json跟XML相比,JSON的优势在于格式简洁短小,特别是在处理大量复杂数据的时候,这个优势便显得非常突出。从各浏览器的支持来看,JSON解决了因不同浏览器对XML DOM解析方式不同而引起的问题。目前,JSON已经成为…

硒测试的干净架构

在这篇博客文章中,我想介绍一种具有最佳设计模式的Selenium测试的简洁架构:页面对象,页面元素(通常称为HTML包装器)和自行开发的非常小巧的框架。 该体系结构不限于示例中使用的Java,也可以以任何其他语言应…

ThinkPHP5 封装邮件发送服务(可发附件)

1、Composer 安装 phpmailer 1composer require phpmailer/phpmailer2、ThinkPHP 中封装邮件服务类 我把它封装在扩展目录 extend/Mail.php 文件里,内容如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748…

密码学笔记——eval(function(p,a,c,k,e,d) 加密破解

密码学笔记——eval(function(p,a,c,k,e,d) 的加密破解 例题: 小明某天在看js的时候,突然看到了这么一段代码,发现怎么也理不出代码逻辑,你能帮帮他吗? 格式:SimCTF{} eval(function(p,a,c,k,e,d){efunctio…

Windows负载机JVM 远程监控Linux服务器下tomcat

基本是跟着网上的操作进行的,除了遇到一个Local host name unknown的问题: 一、Linux服务器操作部分 服务器地址:10.64.111.68 首先配置JMX: 1.找到jdk目录 [rootC68 demo]# echo $JAVA_HOME /root/demo/jdk1.8.0_60 2. cd 到/roo…

二维码支付原理分析及安全性的探究

“二维码支付”安全么? 1 引言 随时支付宝和微信的线下不断推广,目前使用手机进行二维码支付已经逐渐成为一种时尚了。 但是大家有没有思考过:这种便捷的支付方式到底安不安全呢?今天我们就针对这个话题来进行一些探讨吧。 2 …

混合高斯模型(Mixtures of Gaussians)和EM算法

混合高斯模型(Mixtures of Gaussians)和EM算法 这篇讨论使用期望最大化算法(Expectation-Maximization)来进行密度估计(density estimation)。 与k-means一样,给定的训练样本是,我们…