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

Activiti-如何在Java中为独占网关设置条件

权胜泫
2023-03-14

我在Activiti中有一个独占网关,如何在Java代码中为独占网关设置条件变量?

variableData.put("condition", conditionVar);
taskService.complete(task.getId(), variableData);

如何在网关流上提取任务变量?是否可能,或者我必须使用过程变量?

共有3个答案

别开诚
2023-03-14

如何在网关流上提取任务变量?是否可能,或者我必须使用过程变量?

你不能。您需要从任务变量中检索值并复制到流程变量中。之后,您可以使用它来决定流程。

工作流中的变量存在于两个级别;流程执行级别和任务级别。如果在任务中设置变量的值,则新值在流程级别不可用。如果要跨任务使用变量,或在任务和条件流之间使用变量,则需要将变量复制到流程执行级别。流程级变量可用于任务和序列流。

https://docs.alfresco.com/5.0/concepts/wf-process-def-variables.html

曹超
2023-03-14

进程中部署时间:

  • 您可以通过extendsorg在Java中添加表达式条件。活动。发动机实施。bpmn。解析器。工厂DefaultActivityBehaviorFactory和注入到ProcessEngineConfigurationImpl

进程内执行时间:

>

可变数据。put(“结果”,resultOfJavaCondition);taskService。完成(task.getId(),variableData)

墨翔宇
2023-03-14

当您使用条件独占网关设计工作流时,它将生成如下所示的XML,

<exclusiveGateway id="exclusiveGw" name="Exclusive Gateway" />

<sequenceFlow id="flow2" sourceRef="exclusiveGw" targetRef="theTask1">
  <conditionExpression xsi:type="tFormalExpression">${input == 1}</conditionExpression>
</sequenceFlow>

因此,您需要提供变量的值

变量Data.put("输入",1);

如果您的任务是服务任务,则可以执行以下操作

delegateExecution.setVariable("input",1);

获取更多帮助http://www.activiti.org/userguide/#bpmnExclusiveGateway

 类似资料:
  • 如何在JavaFX中为< code>TextField设置占位符?我怎样才能不使用JavaScript来做这件事呢?

  • 我在生成的任务表单上工作,我试图在独占网关中应用true/false逻辑。如果为真,则结束进程。如果为false,则重定向到数据更正任务。 这里${approved}->approved是布尔表单fied的id,但它不起作用。 我需要在bpmn:conditionexpression中提到什么?

  • 问题更新如下问题下的备注。 当我试图与Activiti框架一起运行spring-boot2项目时,我收到的问题描述得稍微低一些。 首先,这个项目是使用Spring初始值设定项创建的,所有进一步的开发都是使用本教程完成的-如何使用Spring Boot启动Activiti Spring JPA。 本教程描述了如何与Spring-boot 1. x一起使用它。在这个条件下(sping-boot-1.

  • 我试图检查一个以上的条件,以使用jbpm中的kie函数JavaScript在独占网关上重定向流。我使用下面的语法,但我想我可能使用了错误的语法 有人能告诉我正确的语法吗

  • 问题内容: 我可以如下设置Firefox的代理设置。 但是我也需要设置Chrome。.有人可以帮助我怎么做吗? 谢谢拉吉 问题答案: 您可以尝试使用该类,如下所示:

  • 问题内容: 我添加了一个带有禁用属性的额外选项,但这给了我以下警告: 在选择上使用或道具,而不是在选项上设置 。 是传递给要映射到具有的每个索引的索引,并且我也传递了数组中的键。一切都在这里工作,只是向我展示了我上面提到的警告。 我该如何删除它或如何设置一个完美的占位符以使react下降? 问题答案: 原因是,通过提供了一种更好的方法来控制元素,因此,与其使用with选项,不使用选项的value属