jbpm流程定义基本操作 布署 查询 删除
2013-12-17 10:13
375 查看
package cn.itcast.init; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import java.util.Map.Entry; import java.util.zip.ZipInputStream; import org.hibernate.cfg.Configuration; import org.jbpm.api.ProcessDefinition; import org.jbpm.api.ProcessDefinitionQuery; import org.jbpm.api.ProcessEngine; import org.junit.Test; /** * 基本操作,布署,CRD * * @author Administrator * */ public class CreateSchema { ProcessEngine processEngine = org.jbpm.api.Configuration.getProcessEngine(); @Test public void createSchema() {// 初始化表 new Configuration().configure("jbpm.hibernate.cfg.xml").buildSessionFactory(); } @Test public void definition() {// 流程定义 processEngine.getRepositoryService()// .createDeployment()// .addResourceFromClasspath("test.jpdl.xml")// .addResourceFromClasspath("test.png")// .deploy(); } @Test public void deploy() {// 流程定义,从zip文件中布署 InputStream is = this.getClass().getClassLoader().getResourceAsStream("test.zip"); ZipInputStream zis = new ZipInputStream(is); processEngine.getRepositoryService()// .createDeployment()// .addResourcesFromZipInputStream(zis)// .deploy(); } @Test public void query01() {// 取出所有流程 List<ProcessDefinition> list = processEngine.getRepositoryService()// .createProcessDefinitionQuery()// .orderAsc(ProcessDefinitionQuery.PROPERTY_ID)// .list(); for (ProcessDefinition p : list) { System.out.print(" name="); System.out.print(p.getName()); System.out.print(" key="); System.out.print(p.getKey()); System.out.print(" version="); System.out.print(p.getVersion()); System.out.print(" deploymentId="); System.out.print(p.getDeploymentId()); System.out.println(); } } @Test public void query02() {// 按版本排序,并取出最新版本 List<ProcessDefinition> list = processEngine.getRepositoryService()// .createProcessDefinitionQuery()// .orderAsc(ProcessDefinitionQuery.PROPERTY_VERSION)// .list(); Map<String, ProcessDefinition> all = new HashMap<String, ProcessDefinition>(); for (ProcessDefinition p : list) { System.out.print(" version="); System.out.print(p.getVersion()); System.out.print(" name="); System.out.print(p.getName()); System.out.print(" key="); System.out.print(p.getKey()); System.out.print(" deploymentId="); System.out.print(p.getDeploymentId()); System.out.println(); all.put(p.getKey(), p); } Set<Entry<String, ProcessDefinition>> entrySet = all.entrySet(); for (Entry<String, ProcessDefinition> entry : entrySet) { System.out.println(" key=" + entry.getKey() + " version=" + entry.getValue().getVersion()); } } @Test public void query03() {// 按版本排序,并分页 ProcessDefinitionQuery query = processEngine.getRepositoryService()// .createProcessDefinitionQuery()// .orderAsc(ProcessDefinitionQuery.PROPERTY_VERSION);// long count = query.count(); List<ProcessDefinition> list = query.page(1, 10).list(); } @Test public void deleteById() { processEngine.getRepositoryService().deleteDeployment("50001");// 单个删除,有关联信息会报错 } @Test public void deleteByCascade() { processEngine.getRepositoryService().deleteDeploymentCascade("60001");// 级联删除有关联信息 } @Test public void deleteByKey() { List<ProcessDefinition> list = processEngine.getRepositoryService()// 单个删除,关联key都会删除 .createProcessDefinitionQuery()// .processDefinitionKey("dddt")// .list(); for (ProcessDefinition p : list) { String id = p.getDeploymentId(); processEngine.getRepositoryService()// .deleteDeploymentCascade(id); } } @Test public void getResourceNameByDeployment() { Set<String> resourceNames = processEngine.getRepositoryService().getResourceNames("100001");// 获取资源名称 for (String s : resourceNames) { System.out.println(s); } } @Test public void getResourceByDeployment() {// 获取资源 InputStream is = processEngine.getRepositoryService().getResourceAsStream("70001", "test.jpdl.xml"); InputStreamReader isr = null; OutputStreamWriter osw = null; try { isr = new InputStreamReader(is); osw = new OutputStreamWriter(new FileOutputStream("c:/test.jpdl.xml"), "utf-8"); char[] b = new char[1024]; while (isr.read(b) != -1) { osw.write(b); osw.flush(); } } catch (Exception e) { e.printStackTrace(); } finally { try { osw.close(); isr.close(); } catch (IOException e) { e.printStackTrace(); } } } }
详细相关项目实例,可到我的资料列表去下载
http://download.csdn.net/detail/albert_lz/6744245
相关文章推荐
- Jbpm笔记之一 -- 流程定义管理( 部署和定义查询、删除、查看流程图)
- JBPM4.4:API风格、管理(部署、删除、更改、查询(文件资源、活动坐标))流程定义
- PHP实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- lucene5学习 - 索引基本操作(创建,查询,更新,删除,分页)
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- (三)数据库基本操作(创建、查询、修改、删除数据库)
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- JBPM发布流程、查询流程、删除流程
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- Qt5.9Creator读写Mysql5.7.17数据库详细例子(数据库基本操作:创建表,查询,插入,删除,修改)
- 基本查询语句及利用SQL语句完成数据的添加、删除、修改操作
- JBPM4入门——5.流程定义的发布、查询、删除
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- 顺序存储结构的基本操作实现(以类的方式实现)----插入、删除、查询
- 单链表的基本操作_创建、查询、插入、删除
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
- php实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法