JBPM常用一些api中的方法

本文深入解析了JBPM工作流引擎的启动流程及任务操作方法,包括获取流程定义、创建流程实例、开始任务节点、获取任务实例等核心步骤,以及如何根据流程定义查找相关任务定义和通过流程实例查找任务实例。详细介绍了如何在工作流中管理任务,如获取任务列表、任务变量,以及任务与流程变量之间的交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转:http://orz.javaeye.com/blog/89885

启动流程:
Ø 获取最新的流程定义:
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);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值