【问题标题】:jBPM 6.2.0 Fetch Task ID in jBPM User Task Entry ScriptjBPM 6.2.0 在 jBPM 用户任务输入脚本中获取任务 ID
【发布时间】:2015-11-09 03:40:37
【问题描述】:

我们需要将 jBPM 用户任务输入脚本中的任务 ID 更新为流程变量。知道在 jBPM 6.2.0 中怎么可能

【问题讨论】:

    标签: task jbpm


    【解决方案1】:

    不幸的是,在 EntryScript 中这是不可能的,因为那时还没有创建任务,因此还没有生成任务 ID。但是,根据您想要检索任务的确切原因和位置,您可以考虑以下方法,它根本不需要流程变量来存储任务 ID:

    1. 您会发现 HumanTaskNodeInstance 有一个 getWorkItemId() 方法,该方法返回用于创建任务的 WorkItem 的 Id。
    2. 您可以通过其 WorkitemId 检索任务 org.kie.api.task.TaskService.getTaskByWorkItemId()。
    3. 因此,如果您知道哪个 HumanTaskNodeInstance 用于创建任务,您可以找到关联的任务。

    第二种方法是注册一个 TaskLifeCycleEventListener 并覆盖 afterTaskAdded,但是您无法轻松访问 ProcessInstance,我们可能会提出挑战。

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

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

    【讨论】:

    • 感谢 Ampie 的回复。我们使用第二种方法来注册任务生命周期事件监听器并从那里触发 Velocity Template 电子邮件,其中涉及新生成的加密格式的任务 ID。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多