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,一经查实,立即删除!

相关文章

Java EE安全性API向前发展

Java EE安全API( JSR 375 )正在向前发展,正如Arjan Tijms在此处概述的那样 : http : //arjan-tijms.omnifaces.org/p/whats-new-in-java-ee-security-api-10 。 html 。 需要注意的一件事是,我们现在为参考实现有了一…

程序员应该多逛的几个技术网站

1、stack overflow 2、github 3、csdn 4、osChina 5、xitu.io 6、www.infoQ.com 7、www.ctolib.com 8、慕课 9、知乎 10、博客园 转载于:https://www.cnblogs.com/qq666666/p/7439705.html

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

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

resteasy_RESTEasy教程第1部分:基础

resteasyRESTEasy是来自JBoss / RedHat的JAX-RS实现&#xff0c;并且内置于JBoss 6之后。 在这里&#xff0c;我将向您展示如何使用RESTEasy和JBossAS7.1.1.FINAL开发一个简单的RESTful Web服务应用程序。 步骤&#xff03;1&#xff1a;使用Maven配置RESTEasy依赖项。 <pro…

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

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

java数据抽取到数据仓库_关于数据增量抽取的模拟实现——脚本实现

具体排过版的请参看http://Percywang.itpub.net本文主要是针对关于数据增量抽取的模拟实现——原理进行实现的实现的环境&#xff1a;业务数据库&#xff1a;Oracle9i数据仓库数据库&#xff1a;SQLServer20001、前提SQLServer服务器已经安装Oracle驱动&#xff0c;不再详细累述…

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

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

HDU 3555 Bomb (数位DP)

数位dp,主要用来解决统计满足某类特殊关系或有某些特点的区间内的数的个数&#xff0c;它是按位来进行计数统计的&#xff0c;可以保存子状态&#xff0c;速度较快。数位dp做多了后&#xff0c;套路基本上都差不多&#xff0c;关键把要保存的状态给抽象出来&#xff0c;保存下来…

java rsa 117_java实现RSA非对称加密解密

之前写过一篇java实现AES对称加密解密在对密码加密传输的场景下 RSA非对称加密解密可能会更加适合。原理就是后台生成一对公钥和私钥&#xff0c;公钥给前端用来加密&#xff0c;后台用私钥去解密&#xff0c;保证了传输过程中就算被截获也避免密码泄露。下面是代码&#xff1a…

CodeForces 731C Socks

//并查集的应用 #include <bits/stdc.h> using namespace std; const int N 2e5 5; int f[N]; int color[N]; vector<int>num[N]; int findx(int x) {return ( x f[x]? x: f[x] findx(f[x]) ); } void merge(int x, int y) {int fx findx(x);int fy findx(y…

php多条件筛选顺序_php多条件组合筛选

【实例简介】js搞定多条件组合筛选&#xff0c;实现URL动态变化&#xff0c;后台根据URL参数实现查询【实例截图】【核心代码】filter└── filter├── css│ ├── bootstrap.css│ ├── bootstrap.css.map│ ├── bootstrap.min.css│ ├── bootstrap-resp…

jdeveloper_JDeveloper中的Java反编译器

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

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

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

abp的权限与导航菜单的关系

原来以为各是各的,所以就有了第一个版本.Getallmentus.然后注入了role,当然失败了.获取所有的菜单.一直在思考在什么地方设置菜单是否展示呢? 后面看了源码.才发现自己错了. UserNavigationManager(这个是一个框架内部调用的类)会获取当前userid的所有的菜单, 数据源跟菜单的R…

通过Java 8流使用Oracle AQ

Oracle数据库最令人敬畏的功能之一是Oracle AQ&#xff1a;Oracle数据库高级队列 。 AQ API直接在数据库中实现了完整的事务性消息传递系统。 在数据库位于系统中心的经典体系结构中&#xff0c;使用AQ进行进程间通信时&#xff0c;多个应用程序&#xff08;其中一些应用程序用…

藏经阁

藏经阁 收藏经典书籍&#xff0c; 文学 1.霍乱时期的爱情 2.巨人的陨落 3.群山之巅 4.无人生还 5.加缪文集&#xff0c;1995&#xff0c;译林出版 6.1984 7.黄金时代 8.太阳照常升起 9.月亮和六便士 10.白夜行 11.小王子 12.杀死一只知更鸟 社科 1.高效能人士的七个习惯 2.少有…

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

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

Centos7 开启端口

CentOS7默认没有使用iptables&#xff0c;所以通过编辑iptables的配置文件来开启80端口是不可以的。 CentOS 7 采用了 firewalld 防火墙。 如要查询是否开启80端口&#xff1a; [rootjoe-pc ~]# firewall-cmd --query-port80/tcp no 显然80端口没有开启。 下面我们开启80端口&a…

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

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

使您的Java 8方法引用生效

方法参考 众所周知&#xff0c;我们可以使用Java 8中的方法引用 &#xff08;例如String::isEmpty来引用例如在元素上流式传输时使用的方法。 看一下以下代码片段&#xff1a; Stream.of("A", "", "B").filter(Stream::isEmpty).count();它将产…