Activiti常用类简介
Activiti项目是一项新的基于Apache许可的开源BPM平台,本文就来简述一下Activiti常用类。具体如下:
一、为什么要使用工作流
传统的设计在流程发生变化时的弊端:
1. 流程相关的属性和业务对象的属性,都放到了业务对象中。
2. 流程相关的逻辑和业务逻辑,都放到的业务逻辑中
Activiti常用类:
ProcessEngineConfiguration 流程引擎配置对象(配置数据库连接信息和建表策略)
ProcessEngine 流程引擎的核心对象(检查环境是否正确,管理各种服务)
RepositoryService 仓库服务对象(管理部署信息)
RuntimeService 运行时服务对象(管理流程的启动,流转等操作)
TaskService 任务服务对象(Task表中的数据是Exeuction表的扩展,任务的创建时间和办理人)
部署相关类:
DeploymentBuilder 发布配置对象(发布的规则文件、规则图片和流程显示的别名)
ProcessDefinition 流程定义(用来描述发布流程的整体信息)
ActivityImpl 流程活动(用来描述一个流程中每个活动相关的信息)
运行相关类:
Execution 执行对象(用来描述当前活动节点的基本信息)
ProcessInstance 流程实例对象(流程实例永远只想Execution(root)对象)
Task 任务对象(任务创建时间和办理人)
二、使用案例:
流程部署信息管理:
1.发布流程
2.查看流程定义 ProcessDefinitionQuery
3.删除流程
4.查看流程附件
流程执行管理:
1.启动流程
2.查看任务(私有/公有)
3.认领Claim UserId 和 TaskId
4.办理任务 complete(taskId)
5.查看任务状态
相关推荐
-
Android实现Activities之间进行数据传递的方法
本文实例讲述了Android实现Activities之间进行数据传递的方法.分享给大家供大家参考.具体分析如下: 首先,先说明一下Activity的启动及关闭: 1. startActivity(Intent intent); 启动Activity finish(); 结束当前Activity 2. startActivityForResult(Intent intent, int requestCode); 以指定的请求码requestCode启动Activity fini
-
Activiti流程图查看实例
本文实例展示了Activiti流程图查看的实现方法,具体步骤如下所示: 1.测试用例查看图片代码如下: public void viewImage() throws Exception { // 创建仓库服务对对象 RepositoryService repositoryService = processEngine.getRepositoryService(); // 从仓库中找需要展示的文件 String deploymentId = "701"; List<String&g
-
Android开发之activiti节点跳转
activiti使用的时候,通常需要跟业务紧密的结合在一起,有些业务非常的复杂,比如一个简单的采购流程:流程如下: 供应商上新商品的时候,提交商务审核,商务审核通过提交运营审核,审核失败退回供应商. 运营审核成功提交合同签订.交运营审核审核失败退回商务审核或者直接退回供应商. 合同签订审核通过结束,合同签订审核不通过返回运营审核或者退回商务审核,或者退回供应商. 上面的流程就出现了一个问题,什么问题呢? 我们来观察一下退回线的问题. 1.商务审核退回供应商上新. 2.运营审核可能退回商务审核,运
-
IE8 中使用加速器(Activities)
在http://ie.microsoft.com/activities/zh-chs/default.aspx有对加速器的详细介绍. 在http://msdn.microsoft.com/en-us/library/cc289789(VS.85).aspx也有说明. 因为Activities是用XML文件来描述的,XML文件提供了用户接口,例如浏览器如何通过URL模板与服务器通信. 基于Web的服务应该利用基于XML的Activities的优点,因为XML Activities更容易创建,测试和
-
activiti获取流程图实例
本文实例讲述了activiti获取流程图的方法,具体操作步骤如下: 1.发布流程代码如下: repositoryService.createDeployment() .name("expense-process.bar") .addClasspathResource("org/activiti/expenseProcess.bpmn20.xml") .addClasspathResource("org/activiti/expenseProcess.png
-
Activiti常用类简介
Activiti项目是一项新的基于Apache许可的开源BPM平台,本文就来简述一下Activiti常用类.具体如下: 一.为什么要使用工作流 传统的设计在流程发生变化时的弊端: 1. 流程相关的属性和业务对象的属性,都放到了业务对象中. 2. 流程相关的逻辑和业务逻辑,都放到的业务逻辑中 Activiti常用类: ProcessEngineConfiguration 流程引擎配置对象(配置数据库连接信息和建表策略) ProcessEngine 流程引擎的核心对象(检查环境是否正确,管理各种服务
-
Java线程安全的常用类_动力节点Java学院整理
线程安全类 在集合框架中,有些类是线程安全的,这些都是jdk1.1中的出现的.在jdk1.2之后,就出现许许多多非线程安全的类. 下面是这些线程安全的同步的类: vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用.在web应用中,特别是前台页面,往往效率(页面响应速度)是优先考虑的. statck:堆栈类,先进后出 hashtable:就比hashmap多了个线程安全 除了这些之外,其他的集合大都是非线程安全的类和接口. 线程安全的类其方法是同步
-
Java常用类String的面试题汇总(java面试题)
1.比较两个字符串时使用"=="还是equals()方法? 当然是equals方法."=="测试的是两个对象的引用是否相同,而equals()比较的是两个字符串的值是否相等.简单来说,基本数据类型都可以使用==.而引用类型使用==比较不了. 2.如何将字符串转化成int? 使用包装类Integer.Integer.valueOf("2");其他基本数据类型都是类似 3.为什么在Java中存储密码要使用char[],而不使用String. 因为St
-
Python访问MySQL封装的常用类实例
本文实例讲述了Python访问MySQL封装的常用类.分享给大家供大家参考.具体如下: python访问mysql比较简单,下面整理的就是一个很简单的Python访问MySQL数据库类. 自己平时也就用到两个mysql函数:查询和更新,下面是自己常用的函数的封装,大家拷贝过去直接可以使用. 文件名:DBUtil.py 复制代码 代码如下: # -*- encoding:utf8 -*- ''' @author: crazyant.net @version: 2013-10-22 封装的mys
-
基于bootstrop常用类总结(推荐)
bootstrap前端开发工具 栅格系统 版心 .container 栅格布局 (一行分为12格,响应式布局) .row .col-md-12 .col-sm-12 .col-xs-12 <div class="row"> <div class="col-md-4"></div> <div class="col-md-4"></div> <div class="col-m
-
JS/jQuery实现获取时间的方法及常用类完整示例
本文实例讲述了JS jQuery实现获取时间的方法及常用类.分享给大家供大家参考,具体如下: 效果图 源码解析 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JS获取时间的方法及常用类</title> <style type="text/css"> input{ color:red; min-width: 25
-
带你了解Java常用类小结
目录 Java常用类 包装类 包装类中的常量 包装类的构造方法 包装类中的常用方法 Math类 枚举 枚举定义 枚举的常见方法 总结 Java常用类 包装类 由于Java语言中的基本类型不是面向对象,并不具备对象的性质,实际使用存在很多不便.Java在java.lang包中提供了八种基本类型对应的包装类,可以方便地将它们转化为对象进行处理,并且可以调用一些方法.Java中基本类型和包装类的对应关系如下表所示: 基本数据类型名称 包装类名称 byte Byte short Short int In
-
Java之常用类小结案例讲解
Java常用类 包装类 由于Java语言中的基本类型不是面向对象,并不具备对象的性质,实际使用存在很多不便.Java在java.lang包中提供了八种基本类型对应的包装类,可以方便地将它们转化为对象进行处理,并且可以调用一些方法.Java中基本类型和包装类的对应关系如下表所示: 基本数据类型名称 包装类名称 byte Byte short Short int Integer long Long float Float double Double char Character boolean Bo
-
C++常用语句简介
目录 1.声明变量 2.赋值语句 3.cin.cout语句 4.库函数 5.自定义函数 1.声明变量 在C++当中所有的变量都需要声明,如: int wordCnt; 我们声明了一个int类型的变量wordCnt,这样的语句会告诉编译器两个关键信息.一个是变量所需要的内存,一个是这块内存的名称.比如在这个例子当中,我们声明了一个int型的变量.它占据32个二进制位,也就是4个字节,这块内存的名称被叫做wordCnt. 注:在有些语言(如basic)当中变量无须声明,可直接使用.但这会引起部分问题
-
.NET中XML序列化和反序列化常用类和属性小结
目录 序列化和反序列化是指什么? XmlSerializer类 .NET-XML序列化和反序列化简单示例代码 XmlTypeAttribute类 应用示例 XmlElementAttribute类 应用示例 XmlAttributeAttribute类 应用示例 XmlArrayAttribute类 应用示例 XmlTextAttribute类 应用示例 XmlIgnoreAttribute类 应用示例 用来控制XML序列化的属性汇总 参考文章 序列化和反序列化是指什么? 序列化(seriall
随机推荐
- PHP跳转页面的几种实现方法详解
- 如何解决Linux系统下Docker占满分区的问题
- java中Class.forName方法的作用详解
- c#裁剪图片后使用zxing生成二维码示例分享
- js循环改变div颜色具体方法
- WPF实现带全选复选框的列表控件
- php购物车实现方法
- PHP错误Warning: Cannot modify header information - headers already sent by解决方法
- python实现查询IP地址所在地
- js继承实现方法详解
- SQLserver2014(ForAlwaysOn)安装图文教程
- 几种延迟加载JS代码的方法加快网页的访问速度
- jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
- javascript查询字符串参数的方法
- jstree单选功能的实现方法
- C++设计模式之抽象工厂模式
- c语言:金币阵列的问题
- Android编程获取网络连接方式及判断手机卡所属运营商的方法
- Python使用Tkinter实现机器人走迷宫
- vue2.0 better-scroll 实现移动端滑动的示例代码