问题标签 [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.
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(任务列表、驾驶舱...)
提前感谢您的回答
camunda - 为什么 IntermediateThrowEvent 的 eventName 总是为空?
我用 camunda 建模器创建了以下 BPMN。
一切正常。
- 启动进程(使用processVariable someVar == null)
- 完成用户任务 A
- eventsubcription等待条件满足变为活动状态
- 将processVariable someVar设置为非空值
- 用户任务 B变为活动状态
- 完成用户任务 B
- 进程结束
我的问题是关于中间的事件:等待条件满足。此事件检查 processVariable。如果 processVariable 为 != null,则进程继续执行usertask B。
在 BPMN xml 文件中,它在此部分中定义
我在 bpmn:intermediateCatchEvent 元素上明确定义了一个名称。该名称在 camundo 建模器中也可见。
但是,当我在步骤 3 中查询 EventSubscriptions 时,我确实得到了 EventSubscription,但 eventName 为空。
我正在使用此代码进行 EventSubscriptions 检索
此外,检查数据库表 act_ru_event_subscr 也会显示一个空列 event_name_
我需要这个名称,因为我想让用户可以使用进程的“当前”活动。对于诸如 usertasks 之类的活动,这没有问题,但对于 intermediateEvents,我无法检索名称。
我错过了什么吗?
camunda - 如何将输出值从一个服务任务传递到另一个服务任务
我正在尝试将一些输出值从一个服务任务传递给其他服务任务。在这里,我可以从服务任务调用 java 类并能够运行程序,但程序输出显示在命令提示符下。我需要将输出值传递给其他服务任务以继续流程。如果有任何建议意味着请告诉我。
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
java - 将服务任务/结束事件/终止事件动态映射到现有的独占网关传出序列流 (Camunda)
我正在尝试将 End 或 Terminate 事件添加到 BPMN 图中的现有网关,作为运行时在 java 中实用的另一个传出序列流。实现这一目标需要遵循哪些步骤?我将这些示例作为参考。
我为下面的 bpmn 图附上了一张图片。
bpmn - 将局部变量映射到 Camunda 中的实例变量
我的应用程序在 camunda 中设置了一个局部变量。
我想将其映射到实例变量“foo:任务完成后,但是在将 outputParameter “bar”的值设置为 ${foo} 时出现错误,两者的数据类型都是字符串。
我似乎在文档中找不到任何具体说明将局部变量映射到实例变量的方法,而无需编写自定义 Java 类并将它们用作执行侦听器(由于产品要求传递下来,我们没有尝试在 camunda 实例本身中编写任何自定义 Java从上面),我是否遗漏了什么或者这不是现有的功能?
java - 是否可以在 camunda 中使用 Fluent API 更新正在运行的流程实例?
我正在尝试使用 Fluent API 在进程的运行时进行一些更改。是否可以更新正在运行的实例?
例如:如果我想在现有事件(用户任务、服务任务……)之间添加新事件并运行新添加的事件。有没有办法做到这一点?