jbpm教程(二)创建公文 并把公文与流程定义文件相互绑定
2012-08-26 13:57
309 查看
创建公文 并把公文与流程定义文件相互绑定
首先创建公文类文件
然后创建公文
首先创建公文类文件
package com.sxito.jbpm; public class Document { private int id; private String title; private String context; private long processInstanceId; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContext() { return context; } public void setContext(String context) { this.context = context; } public long getProcessInstanceId() { return processInstanceId; } public void setProcessInstanceId(long processInstanceId) { this.processInstanceId = processInstanceId; } }配置Document.hbm.xml文件
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.sxito.jbpm.Document" table="_document"> <id name="id" > <generator class="native"></generator> </id> <property name="title" /> <property name="context" /> <property name="processInstanceId" /> </class> </hibernate-mapping>在hibernate.cfg.xml文件中最后一个<property>标签后加入以下代码
<!-- mapping 要放在property后面 不能放在前面 --> <mapping resource="com/sxito/jbpm/Document.hbm.xml"/>
然后创建公文
package com.sxito.jbpm; import java.util.Random; import junit.framework.TestCase; import org.jbpm.JbpmConfiguration; import org.jbpm.JbpmContext; import org.jbpm.graph.def.ProcessDefinition; import org.jbpm.graph.exe.ProcessInstance; public class Jbpm_03_CreateDocument extends TestCase { //获取jbpm配置 static JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance(); /** * 创建公文 * 通过jbpmConfiguration得到JbpmComtext * 创建新公文 并保存 * 通过流程定义名称取到流程定义对象 * 根据流程定义对象创建新的流程实例 保存流程实例 * 把流程实例编号绑定在公文上 * 把公文Id绑定到流程实例中去 * 把日期放到流程实例里去 */ public void testCreateDocument(){ //创建jbpm上下文对象 JbpmContext context = jbpmConfiguration.createJbpmContext(); try{ //创建公文对象 Document doc = new Document(); doc.setTitle("测试公文"+new Random().nextInt(999)); //保存公文 context.getSession().save(doc); //创建流程实例对象 //1.首先从数据库中根据流程定义对象名称 加载ProcessDeinition对象 ProcessDefinition def = context.getGraphSession().findLatestProcessDefinition("test05"); //2.根据流程定义对象创建新的流程实例 ProcessInstance instance = new ProcessInstance(def); //保存流程实例 context.save(instance); //互相绑定 //把流程实例编号绑定到公文上 doc.setProcessInstanceId(instance.getId()); //把文档编号绑定到流程实例上 instance.getContextInstance().setVariable("documentId",doc.getId()); //将days变量放到流程实例里面 instance.getContextInstance().setVariable("days", 2); System.err.println("新创建的公文Id为【"+doc.getId()+"】公文名称为【"+doc.getTitle()+"】"); }catch(Exception e){ e.printStackTrace(); // 如果部署不成功则回滚 context.setRollbackOnly(); // System.err.println("exception!!!"); }finally{ context.close(); } } }
相关文章推荐
- jbpm教程(一)首先创建jbpm相关的表格并部署流程定义文件
- jbpm3 流程定义文件
- JBPM创建数据库,流程定义以及发布学习笔记
- jbpm3.2.2部署流程定义文件的错误
- jbpm 定义请假流程 编程发布流程文件
- jbpm4.4根据.jpdl.xml流程定义文件,得到流程图.png
- JBPM4.4:API风格、管理(部署、删除、更改、查询(文件资源、活动坐标))流程定义
- Jbpm3.2 发布定义好的流程文件
- jBPM工作流程定义
- Linux 创建文件系统及挂载文件系统流程详解
- Androidstudio中创建menu布局文件教程
- [置顶] idea创建springboot项目图文教程(配置文件)(五)
- Linux 创建文件系统及挂载文件系统流程详解
- jbpm的流程定义版本策略
- 2011037-8.4.1-需要读写文件时,必须定义自己的对象,并将它们绑定在需要的文件上
- 我的MVVM框架 v3教程——流程绑定
- jbpm解析流程定义的三种方式
- 处理2D图像和纹理——创建一张纹理,定义每个像素的颜色,将纹理保存到一个文件
- xcode 8 使用coredata时候生成entity手动创建managedobject文件后编译报错重复定义
- codeblocks安装教程和文件的简单创建方法