Chinaunix首页 | 论坛 | 博客
  • 博客访问: 557121
  • 博文数量: 48
  • 博客积分: 4026
  • 博客等级: 上校
  • 技术积分: 622
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-26 13:59
文章分类

全部博文(48)

文章存档

2011年(3)

2010年(6)

2009年(12)

2008年(27)

我的朋友

分类: Java

2008-03-24 16:02:38

JBPM工作流简单步骤

启动流程:
Ø 获取最新的流程定义:
JbpmContext.getCurrentJbpmContext().getGraphSession().findLatestProcessDefinitions();//返回List
Ø 获取指定流程定义:
ProcessDefinition processDefinition =
graphSession.loadProcessDefinition(processDefinitionId);
Ø 创建流程实例:
ProcessInstance processInstance = new ProcessInstance(processDefinition);
Ø 开始任务节点:
TaskInstance taskInstance =
processInstance.getTaskMgmtInstance().createStartTaskInstance();
Ø 获取指定任务实例(ID):
TaskMgmtSession taskMgmtSession;
taskMgmtSession = jbpmContext.getTaskMgmtSession();
TaskInstance taskInstance = taskMgmtSession.loadTaskInstance(taskInstanceId);
Ø 获取任务列表:
taskMgmtSession.findTaskInstances(userName);//userName为指派的人名(或角色名)

Ø 获取任务变量:
TaskController taskController = taskInstance.getTask().getTaskController();
List variableAccesses = taskController.getVariableAccesses();
注:TaskController 有两个关键的函数 initializeVariables,submitParameters,一个用来从流程中把变量置入task实例,另一个则相反,把task中变量更新到流程变量

Ø 根据流程定义找到相关的任务定义
ProcessDefinition pd = jbpmContext.getGraphSession().getProcessDefinition(id);
List tasklist = pd.getTaskMgmtDefinition().getTasks();

Ø 根据流程实例找到任务实例
taskMgmtSession.findTaskInstancesByProcessInstance(processInstance);
阅读(1183) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-05-23 19:13:39

Simpleflow 免费Domino工作流开发引擎 参照Lotus Workflow开发模型 免费下载试用 承接工作流 OA开发 www.simpleflow.com.cn QQ:935139121 群:78560640