activiti工作流08-processDefinition的CRUD2
2016-09-13 16:07
337 查看
注:流程定义不可修改,可通过每一次启动最新版本的流程定义来达到修改的目的
/**
* 查询最新版本的流程定义,可利用map集合的key相同则覆盖值的特性
*
* Map<String, ProcessDefinition>
* map的key,流程定义的key
* map的value,流程定义本身对象
*/
public void testGetHigestVersion(){
Map<String, ProcessDefinition> map=new LinkedHashMap<String, ProcessDefinition>();
//根据版本升序查询
List<ProcessDefinition> pList=processEngine.getRepositoryService()
.createProcessDefinitionQuery()
.orderByProcessDefinitionVersion().asc()
.list();
if(pList!=null&&pList.size()>0){
for (ProcessDefinition processDefinition : pList) {
map.put(processDefinition.getKey(), processDefinition);
}
}
Set<String> set=map.keySet();
Iterator<String> it=set.iterator();
while(it.hasNext()){
String key=it.next();
ProcessDefinition p=map.get(key);
System.out.println("流程定义的key:"+key);
System.out.println("流程定义的最高版本:"+p.getVersion());
}
}
/**
* 删除指定的key的所有的流程定义
*/
public void testDeleteAllProcDefByKey(){
String processDefinitionKey="helloWorld";
//通过key找到所有的流程定义
List<ProcessDefinition> pList=processEngine.getRepositoryService()
.createProcessDefinitionQuery()
.processDefinitionKey(processDefinitionKey)
.list();
//貌似这样也可以获取一个流程定义的最新版本
System.out.println(processEngine.getRepositoryService()
.createProcessDefinitionQuery()
.processDefinitionKey(processDefinitionKey)
.latestVersion());
if(pList!=null&&pList.size()>0){
for (ProcessDefinition processDefinition : pList) {
String deploymentId=processDefinition.getDeploymentId();
processEngine.getRepositoryService().deleteDeployment(deploymentId,true);
}
}
}
/**
* 查询最新版本的流程定义,可利用map集合的key相同则覆盖值的特性
*
* Map<String, ProcessDefinition>
* map的key,流程定义的key
* map的value,流程定义本身对象
*/
public void testGetHigestVersion(){
Map<String, ProcessDefinition> map=new LinkedHashMap<String, ProcessDefinition>();
//根据版本升序查询
List<ProcessDefinition> pList=processEngine.getRepositoryService()
.createProcessDefinitionQuery()
.orderByProcessDefinitionVersion().asc()
.list();
if(pList!=null&&pList.size()>0){
for (ProcessDefinition processDefinition : pList) {
map.put(processDefinition.getKey(), processDefinition);
}
}
Set<String> set=map.keySet();
Iterator<String> it=set.iterator();
while(it.hasNext()){
String key=it.next();
ProcessDefinition p=map.get(key);
System.out.println("流程定义的key:"+key);
System.out.println("流程定义的最高版本:"+p.getVersion());
}
}
/**
* 删除指定的key的所有的流程定义
*/
public void testDeleteAllProcDefByKey(){
String processDefinitionKey="helloWorld";
//通过key找到所有的流程定义
List<ProcessDefinition> pList=processEngine.getRepositoryService()
.createProcessDefinitionQuery()
.processDefinitionKey(processDefinitionKey)
.list();
//貌似这样也可以获取一个流程定义的最新版本
System.out.println(processEngine.getRepositoryService()
.createProcessDefinitionQuery()
.processDefinitionKey(processDefinitionKey)
.latestVersion());
if(pList!=null&&pList.size()>0){
for (ProcessDefinition processDefinition : pList) {
String deploymentId=processDefinition.getDeploymentId();
processEngine.getRepositoryService().deleteDeployment(deploymentId,true);
}
}
}
相关文章推荐
- 自制操作系统——02(读磁盘数据到内存)
- zendstudio12破解码
- 排序例子
- 【自考】数据结构导论
- jdbc mybatis hibernate springJDBC的一些理解
- MariaDB Galera Cluster集群企业版编译安装与配置
- 正则表达式浅解
- 9*9乘法表
- YisouSipder导致的网站问题
- 关于JDK安装相关问题
- <Android 应用 之路> MPAndroidChart~BubbleChart(气泡图) and RadarChart(雷达图)
- Java 去除字符串中的空格
- <Android 应用 之路> MPAndroidChart~BubbleChart(气泡图) and RadarChart(雷达图)
- 利用windbg 分析IIS 的线程池w3wp程序多线程挂起问题
- npm插件制作及发布基础教程
- 12C清理asm磁盘组和文件
- js各种相似方法区别,联系
- 纯基于PHP的单点登陆
- 深度残差网络(Deep Residual Learning )
- 腾讯优测优分享 | 双卡双待-工程师难言的痛