当前位置: 首页 > 知识库问答 >
问题:

Activiti BPMN:如何从当前任务中查找未来任务

梁丘经艺
2023-03-14

我正在努力将Activiti BPMN与我的JavaWebApp集成。我已经成功地定义了流程,并根据我的要求执行了它,尽管我陷入了一个问题,需要我从当前执行的任务中找到所有未来可能发生的任务。

假设在我的XML中,我有一个工作流,其中有4个任务,如任务a,然后是一个专用网关,然后还有3个任务。我当前执行的任务是任务A,现在我想知道未来任务的可能性(即网关后的3个任务)。无论如何这可能吗?

我被困在这里,找不到任何解决办法。如果有人能帮我,我将不胜感激。

共有1个答案

戚森
2023-03-14

请参阅Activiti用户指南。与流程任务相关的作业是在某些点创建的,而不是同时创建所有任务。创建作业的实际点会有所不同。因此,查询ACT_RU_JOB表可能不会有结果。获取任务的方法之一是处理附加到流程定义的BPMN。BPMN定义可以从Activiti API或REST API(部署中的资源)中检索。一旦获得BPMN XML,就需要找到任务元素(用户任务、服务任务等)并按照序列流来确定哪些任务按哪个顺序来。例如,请参考BPMN的以下摘录:

<serviceTask id="servicetask1" 
             name="Process Init" 
             activiti:async="true" 
             activiti:class="ProcessInitDelegate"></serviceTask>

<serviceTask id="servicetask2" 
             name="Download Installed SW List" 
             activiti:async="true"
             activiti:class="EWSAttachmentDownloaderDelegate"></serviceTask>

 <sequenceFlow id="flow2" 
               sourceRef="servicetask1" 
               targetRef="servicetask2"></sequenceFlow>

在上面的示例中,很容易找到从“serviceTask1”引出并跟随它到“serviceTask2”的序列流。

 类似资料:
  • 问题内容: 如何从任务中获取任务的task_id值?这是我的代码: 这个想法是,当我创建任务的新实例时,我从任务对象中检索。然后,我使用任务ID来确定任务是否已完成。我 不想 按值跟踪任务,因为在任务完成后文件将被“清理”,并且可能存在也可能不存在。 在上面的示例中,我将如何获取值? 问题答案: 如果任务接受,Celery会设置一些默认关键字参数。(您可以使用** kwargs接受它们,也可以专门

  • 如何使用5个CompletableFutures异步执行20个可运行任务(或1个任务20次)? 这就是我得到的: 如果我执行这段代码,我可以看到它只运行3次。异步获取():3,然后在1 for()迭代中剩下2 所以,我想做所有20个任务,尽可能异步

  • 我想为一个Android项目创建一个自定义的gradle任务,这将调用其他任务链,取决于构建风格和构建配置。 所以,这就是我在build.gradle.kts中所做的事情(我们使用kotlin脚本) 所以如果我运行./gradlew任务 null

  • 问题内容: 我有一个时间周期性地与一些不同的任务; 我也有Runnable与此计划程序一起使用的不同之处。当我想从调度程序中删除任务之一时,问题就开始了。 有没有办法做到这一点? 我可以使用一个调度程序完成不同的任务吗?实现此目的的最佳方法是什么? 问题答案: 只需取消以下项返回的未来: 要注意的另一件事是,取消不会从计划程序中删除任务。它所确保的是isDone方法总是返回true。如果继续添加此

  • 我有代码: 年级4.5.1对此警告为 但是link没有给我任何可以替换它的提示,因为我不能仅仅设置任务依赖项,比如dependsOn或FinalizdBy--它不是从其他任务调用的,而是从构建的末尾调用的。

  • 我正在将一些用于iOS和OSX的Ant构建转换为Gradle。创建了以下内容: 这可能很简单,但我做错了什么?如何从自定义类中调用exec任务?