问题标签 [camunda-modeler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4215 浏览

spring-boot - Spring Boot 应用程序中的 Camunda 集成

我是 Camunda 的新手,开始了一个需要集成工作流引擎的新项目。我遵循了示例,尤其是 Spring Boot 示例,因为我正在将 Camunda 集成到 spring-boot 项目中。

我有一些新手问题:

是否可以在 Camunda 中创建用户任务而不参考 Camunda UI 来分配它们?

是否必须经过身份验证(通过 Camunda 登录过程)才能在流程中启动?

是否可以使用未实现 org.camunda.bpm.engine.rest.security.auth.AuthenticationProvider 的身份验证提供程序对用户进行身份验证?(我的应用程序在 Spring Security 上有自己的身份验证/授权过程,我想知道我是否可以在 Camunda 中使用它)

我的项目已经有了用户、角色、组、身份验证的业务逻辑......我如何将它们与 Camunda 一起使用?换句话说,必须使用 Camunda 实体和 UI(任务列表、驾驶舱...)

提前感谢您的回答

0 投票
0 回答
161 浏览

camunda - 为什么 IntermediateThrowEvent 的 eventName 总是为空?

我用 camunda 建模器创建了以下 BPMN。

在此处输入图像描述

一切正常。

  1. 启动进程(使用processVariable someVar == null)
  2. 完成用户任务 A
  3. eventsubcription等待条件满足变为活动状态
  4. processVariable someVar设置为非空值
  5. 用户任务 B变为活动状态
  6. 完成用户任务 B
  7. 进程结束

我的问题是关于中间的事件:等待条件满足。此事件检查 processVariable。如果 processVariable 为 != null,则进程继续执行usertask B

在 BPMN xml 文件中,它在此部分中定义

我在 bpmn:intermediateCatchEvent 元素上明确定义了一个名称。该名称在 camundo 建模器中也可见。

但是,当我在步骤 3 中查询 EventSubscriptions 时,我确实得到了 EventSubscription,但 eventName 为空。

我正在使用此代码进行 EventSubscriptions 检索

此外,检查数据库表 act_ru_event_subscr 也会显示一个空列 event_name_

我需要这个名称,因为我想让用户可以使用进程的“当前”活动。对于诸如 usertasks 之类的活动,这没有问题,但对于 intermediateEvents,我无法检索名称。

我错过了什么吗?

0 投票
0 回答
257 浏览

bpmn - 如何将表单生成器生成的 JSON 保存在流程用户任务中?

我正在创建流程让 usertask 包含从Form Builder创建的表单,如何在流程中保留此 JSON?

它应该在扩展选项卡中创建属性,并且在启动过程时表单应该重新加载 JSON 属性值?

有例子我可以跟进吗?

流程图

已创建表单

JSON 生成:

});

0 投票
1 回答
500 浏览

bpmn - 如何在用户任务中定义/传递外部表单变量?

我定义的流程有用户任务这个任务包含外部表单我使用表单构建器构建这个表单,应该在哪里定义变量?或在表单字段或中添加属性?映射应该在哪里?以及如何提交表格?在此处输入图像描述

在此处输入图像描述

0 投票
2 回答
647 浏览

camunda - 如何将输出值从一个服务任务传递到另一个服务任务

我正在尝试将一些输出值从一个服务任务传递给其他服务任务。在这里,我可以从服务任务调用 java 类并能够运行程序,但程序输出显示在命令提示符下。我需要将输出值传递给其他服务任务以继续流程。如果有任何建议意味着请告诉我。

0 投票
1 回答
1174 浏览

java - 在 Camunda BPMN 引擎中传递冗长的文本 - http 连接器

我已经完成了通过 camunda http 连接器从 camunda bpmn 调用 http REST 端点的实现。

在这种情况下,首先,BpmnInvoker将调用 REST 端点,提供bpmnProcessId作为路径参数和Authorization键作为标头参数以及 requestBody 然后在BpmnInvoker相关 bpmn 图中将调用传递 requestBody 值。在这些 bpmn 任务中,会有一些服务任务会调用 REST 端点。

为了从 BPMN 图中调用 REST 端点,我使用了 camunda http 连接器。在这种情况下,我需要将授权密钥作为 http 标头传递给 REST 端点。

为此,我将授权密钥添加到变量映射中,并将其作为 bpmn 图中的变量,并添加到图像和 bpmn 图中提到的标题映射中。

但问题是因为这个授权通常长度超过 4000 个字符。因此,它不能通过 camunda 引擎作为字符串传递。我尝试将其转换为另一个对象(例如:byte [] / StringBuffer 等),假设它将被存储为 blob,但在这种情况下,当它要分配给 http 标头时,它会给出 Class Cast Exception。

  • 如何在卡蒙达做到这一点?
  • 无论如何不要将这些对象存储在数据库中?
  • 我注意到有一些选项可以将列类型更改为 Text CLOB / 增加大小等。这是个好主意吗?

BPMNInvoke.java

BPMN图 在此处输入图像描述

0 投票
0 回答
137 浏览

bpmn - 卡蒙丹眼原理

虽然有很多关于如何使用 Camunda 建模四眼原理的示例,但我正在寻找一个建模n眼原理的解决方案。更具体地说,我希望至少n 个用户批准或拒绝某个任务。

我的第一种方法使用并行多实例,但我不确定这是否正确建模。另外,我想使用动态表达式来确定任务是被批准还是被拒绝(例如,如果n = 3并且至少有2 个用户被批准)。

有人可以澄清吗?提前非常感谢!

在此处输入图像描述

0 投票
0 回答
171 浏览

java - 将服务任务/结束事件/终止事件动态映射到现有的独占网关传出序列流 (Camunda)

我正在尝试将 End 或 Terminate 事件添加到 BPMN 图中的现有网关,作为运行时在 java 中实用的另一个传出序列流。实现这一目标需要遵循哪些步骤?我将这些示例作为参考。

https://www.programcreek.com/java-api-examples/?class=org.camunda.bpm.model.bpmn.instance.camunda.CamundaExecutionListener&method=setCamundaEvent

我为下面的 bpmn 图附上了一张图片。

bpmn图

0 投票
1 回答
1068 浏览

bpmn - 将局部变量映射到 Camunda 中的实例变量

我的应用程序在 camunda 中设置了一个局部变量。

我想将其映射到实例变量“foo:任务完成后,但是在将 outputParameter “bar”的值设置为 ${foo} 时出现错误,两者的数据类型都是字符串。

我似乎在文档中找不到任何具体说明将局部变量映射到实例变量的方法,而无需编写自定义 Java 类并将它们用作执行侦听器(由于产品要求传递下来,我们没有尝试在 camunda 实例本身中编写任何自定义 Java从上面),我是否遗漏了什么或者这不是现有的功能?

0 投票
1 回答
385 浏览

java - 是否可以在 camunda 中使用 Fluent API 更新正在运行的流程实例?

我正在尝试使用 Fluent API 在进程的运行时进行一些更改。是否可以更新正在运行的实例?

例如:如果我想在现有事件(用户任务、服务任务……)之间添加新事件并运行新添加的事件。有没有办法做到这一点?