package com.test;
import java.util.List;
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.taskmgmt.exe.TaskInstance;
public class Test1 {
//创建config对象(连接数据库)
private static JbpmConfiguration config = JbpmConfiguration.getInstance();
// JbpmConfiguration con=JbpmConfiguration.getInstance();
//创建jbpmContext对象
private static JbpmContext getContext(){
JbpmContext context = config.getCurrentJbpmContext();
if (context==null)
context = config.createJbpmContext();
return context;
}
//创建表(如果表存在就先删除)
public static void createTable(){
config.createSchema();
}
//发布流程(写数据库)
public static void deplydefine(){
//根据xml文件生成流程
ProcessDefinition pd = ProcessDefinition.parseXmlResource("simple/processdefinition.xml");
//发布
getContext().deployProcessDefinition(pd);
getContext().close();
}
//实例化流程
public static void newInstance(String name){
//得到“报帐"的流程定义
ProcessDefinition pd = getContext().getGraphSession().findLatestProcessDefinition("报账");
//创建"流程实例"
ProcessInstance pi = pd.createProcessInstance();
//把创始人保存起来
pi.getContextInstance().setVariable("initId", name);
//发信号,下一步
pi.getRootToken().signal();
getContext().close();
}
//写报销单:谁+报多少+原因
public static void write(String name,Float money,String msg){
//得到自己所有没有完成任务
List<TaskInstance> tis =
getContext().getTaskList(name);
// System.out.println(tis.size()+"");
for (TaskInstance ti:tis){
System.out.println(ti.getName()+"\t"+ti.getActorId());
if (ti.getName().equals("写报销单"))
{
System.out.println(ti.getActorId());
ti.getContextInstance().setVariable("money", money);
ti.getContextInstance().setVariable("msg", msg);
ti.end();//结束
}
}
getContext().close();
}
//部门同意否
public static void agree(int id, boolean f){
//根据编号找任务
TaskInstance ti = getContext().getTaskInstance(id);
if (f)
ti.end("同意");
else
ti.end("不同意");
getContext().close();
}
public static void main(String[] args) {
// getContext();
// createTable();
// deplydefine();
// newInstance("请假");
write("请假",100f,"国庆休假");
// agree(2, false);
}
}
分享到:
- 2008-11-15 22:50
- 浏览 1337
- 评论(1)
- 论坛回复 / 浏览 (1 / 4337)
- 查看更多
相关推荐
jbmp入门教程,jBPM流程定义语言,业务日历,流程建模
JBMP入门讲解附带实例一个 用的 3.X版本的jbmp
介绍jbmp开发环境的所需的工具,以及怎么部署和配置,涉及了JDK、Ant、Eclipse、mysql等。
在jPDL中,与流程设计相关的文件有三个:processdefinition.xml、gdp.xml、processimage.jpg。其中processdefinition.xml是流程定义的描述文件;gpd.xml是对图形界面呈现的XML描述;而 processimage.jpg则是对图形...
jbmp 实例 报销流程,含单元测试,数据库可直接附加运行
jboss+jbmp5.3开发手册.rar
jbmp是一种可扩展,灵活的流引擎,可独立运行在服务器上也可以镶嵌在任何java程序中。
jbpm4生成流程图,根据每个不同的流程轨迹把连线变成红色。
网上销售系统,Jbmp的应用例子,有流程开发的例子
myeclipse6.0的jbmp插件.rarmyeclipse6.0的jbmp插件.rar
jbmp 3.0 chm
jbmp学习文档
jbmp part 3 total 108 for java develop tools
jbmp part 2 total 108 for java develop tools
java oa SSH+jbmp开发的小oa,含丰富的文档
源文件 博文链接:https://yy666.iteye.com/blog/470760
jbmp工作流插件,实测好用。。。。共享之。
jbmp4整合SSH的请假例子
工作流 就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算. 工作流属于计算机支持的协同工作(Computer Supported Cooperative Work,CSCW...
jBMP工作流开发入门指南,中文手册,适合入门者