jBPM 6.2.0在jBPM用户任务条目脚本中获取任务ID

时间:2015-06-16 16:49:17

标签: task jbpm

我们需要将jBPM用户任务条目脚本中的任务ID更新为流程变量。知道如何在jBPM 6.2.0

中做到这一点

1 个答案:

答案 0 :(得分:1)

不幸的是,在EntryScript中无法实现,因为此时不会创建任务,因此尚未生成任务ID。但是,根据您要从中检索任务的确切原因和位置,您可以考虑以下方法,该方法不需要流程变量来存储任务ID:

  1. 你会发现HumanTaskNodeInstance有一个方法getWorkItemId(),它返回用于创建任务的WorkItem的Id。
  2. 您可以通过其WorkitemId检索任务 org.kie.api.task.TaskService.getTaskByWorkItemId()。
  3. 因此,如果您知道使用哪个HumanTaskNodeInstance创建任务,则可以找到关联的任务。
  4. 第二种方法是注册TaskLifeCycleEventListener并覆盖afterTaskAdded,但是你没有轻松访问ProcessInstance,我们可能会提出挑战。

    第三种方法是实现你自己的HumanTask WorkItemHandler,但对于手头的需求来说似乎有点难以理解。

    如果第一种方法不起作用,请告诉我,我们可以探索其他两种方法之一。