- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我们已将 Camunda 作为 Wildfly8 的模块安装。一切工作正常,但我需要一种方法来模拟 java 委托(delegate)以进行单元测试(使用 Arquillian)。据我了解, org.camunda.bpm.engine.test.mock.Mocks 可用于提供模拟委托(delegate)。根据 JavaDoc,我应该在流程引擎配置中注册 MockExpressionManager。我在这里找到了一些与 MockExpressingManager 类似的配置 https://github.com/camunda/camunda-bpm-assert/blob/master/camunda-bpm-assert-examples/src/test/resources/camunda.cfg.xml
但是 Wildfly 的 camunda 模块是在standalone-full.xml 中配置的:
<subsystem xmlns="urn:org.camunda.bpm.jboss:1.1">
<process-engines>
<process-engine name="default" default="true">
<datasource>
java:jboss/datasources/ProcessEngine
</datasource>
<history-level>
full
</history-level>
<configuration>
org.camunda.bpm.engine.cdi.CdiJtaProcessEngineConfiguration
</configuration>
<properties>
<property name="jobExecutorAcquisitionName">
default
</property>
<property name="isAutoSchemaUpdate">
true
</property>
<property name="authorizationEnabled">
true
</property>
<property name="jobExecutorDeploymentAware">
true
</property>
<property name="expressionManager">
org.camunda.bpm.engine.test.mock.MockExpressionManager
</property>
</properties>
但这不起作用,在 Wildfly 启动时我看到了
16:45:31,930 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 61) MSC000001: Failed to start service org.camunda.bpm.platform.process-engine.default: org.jboss.msc.service.StartException in service org.camunda.bpm.platform.process-engine.default: org.camunda.bpm.engine.ProcessEngineException: Could not set value for property 'expressionManager' on class org.camunda.bpm.engine.cdi.CdiJtaProcessEngineConfiguration
at org.camunda.bpm.container.impl.jboss.service.MscManagedProcessEngineController$1.run(MscManagedProcessEngineController.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_11]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_11]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_11]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_11]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_11]
at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.1.Final.jar:2.1.1.Final]
Caused by: org.camunda.bpm.engine.ProcessEngineException: Could not set value for property 'expressionManager' on class org.camunda.bpm.engine.cdi.CdiJtaProcessEngineConfiguration
at org.camunda.bpm.container.impl.metadata.PropertyHelper.applyProperty(PropertyHelper.java:76)
at org.camunda.bpm.container.impl.metadata.PropertyHelper.applyProperties(PropertyHelper.java:94)
at org.camunda.bpm.container.impl.jboss.service.MscManagedProcessEngineController.startProcessEngine(MscManagedProcessEngineController.java:173)
at org.camunda.bpm.container.impl.jboss.service.MscManagedProcessEngineController$2.run(MscManagedProcessEngineController.java:131)
at org.camunda.bpm.container.impl.jboss.service.MscManagedProcessEngineController$2.run(MscManagedProcessEngineController.java:129)
at org.camunda.bpm.container.impl.jboss.util.Tccl.runWithTccl(Tccl.java:53)
at org.camunda.bpm.container.impl.jboss.util.Tccl.runUnderClassloader(Tccl.java:45)
at org.camunda.bpm.container.impl.jboss.service.MscManagedProcessEngineController.startInternal(MscManagedProcessEngineController.java:129)
at org.camunda.bpm.container.impl.jboss.service.MscManagedProcessEngineController$1.run(MscManagedProcessEngineController.java:90)
... 6 more
Caused by: java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_11]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_11]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_11]
at java.lang.reflect.Method.invoke(Method.java:483) [rt.jar:1.8.0_11]
at org.camunda.bpm.container.impl.metadata.PropertyHelper.applyProperty(PropertyHelper.java:74)
... 14 more
如何正确设置此 MockExpressionManager 的配置?
或者可能还有其他方法来模拟 java 委托(delegate)?
最佳答案
通过查看 Camunda 代码,他们期望传入对表达式管理器的引用。如果我不得不猜测,这是作为字符串传入的。我能想到的处理此问题的一种肮脏方法是创建 CdiJtaProcessEngineConfiguration 的子类,它配置正确的表达式管理器,将该 JAR 部署到其模块并将其连接起来。
就我个人而言,我发现他们的配置对我来说在直接 Wildfly 集成中有点太紧,因此选择直接在我的应用程序中配置他们的库。
关于java - Camunda Process Engine 配置与 Wildfly 的 MockExpressionManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29701148/
在最新的 Camunda 文档页面中,我注意到在讨论任务监听器与事件监听器的部分中存在一些令人困惑的信息:https://docs.camunda.org/manual/latest/user-gui
在最新的 Camunda 文档页面中,我注意到在讨论任务监听器与事件监听器的部分中存在一些令人困惑的信息:https://docs.camunda.org/manual/latest/user-gui
我有一个要求,可以在给定时间为用户分配数千(1000 - 5000)个任务,这些任务属于不同的流程实例(1000 - 5000 个相同的用户任务)实例。我有一个自定义任务列表屏幕,我需要在其中加载所有
我有一个在最后启动 java 的批处理脚本: example.bat call java -jar custom.jar someParameters 我想知道如何在 Camunda 中执行此操作。是
我一直在尝试从 Camunda 引擎中检索流程实例图。所有 JAVA 和 REST 方法都处理检索已部署的流程图。所以,我最接近的是这个方法。 InputStream getProcessDiagra
我一直在尝试从 Camunda 引擎中检索流程实例图。所有 JAVA 和 REST 方法都处理检索已部署的流程图。所以,我最接近的是这个方法。 InputStream getProcessDiagra
每次我修改和部署一个流程,版本号都在增加。我明白为什么它在增加。但是是否有强制使用预定义版本并且部署将仅覆盖该版本。原因是即使是小错误修复,我也不希望版本发生变化。 最佳答案 您是在谈论生产还是开发?
存档 Camunda Process 实例的最佳方法是什么? 是否有推荐的设置来移动或分离历史进程与运行进程。 问候, 帕尼 最佳答案 Camunda 已经将运行时信息(act_ru_* 表)和历史信
是否有一个示例来展示基于 HTML5/Angularjs 的外部任务表单来获取任务数据并完成任务? 我们想要自定义任务列表,camunda 是否提供任务列表 JavaScript 库? 问候, 帕尼
在 Camunda BPM 设计器中,我找不到用于调用基于 REST 或 SOAP 的 Web 服务的事件。是不是只能通过连线代码来调用?如果需要使用java代码编写,如何将有效负载传递给代码。 问候
是否有一个示例来展示基于 HTML5/Angularjs 的外部任务表单来获取任务数据并完成任务? 我们想要自定义任务列表,camunda 是否提供任务列表 JavaScript 库? 问候, 帕尼
我按照官方网站上的指南将 camunda.war (7.2) 部署到我的普通 tomcat7 中。 现在当我启动 tomcat 时出现以下错误: GRAVE: Error while closing
我们使用 camunda 和 RDS/MySql 作为数据库。它工作正常,但有时它说 DB 已关闭,因此抛出 ProcessEngine 异常。这是我从我们的配置和日志中了解到的内容: 我们的池中随时
我正在关注本指南 - https://camunda.github.io/camunda-bpm-spring-boot-starter/docs/2.2.0/index.html并创建我自己的新 s
在我升级到Java 17之后,我的服务出现错误:。错误:。我尝试添加@Autwire(REQUIRED=TRUE),但没有成功
我想确保每个 Camunda 流程实例都异步启动,而不管流程定义如何。 Configure Asynchronous Continuations文档表明此行为需要使用“Asynchronous Bef
我正在尝试将 camunda 任务列表过滤器中的默认排序顺序设置为按创建日期升序。 仅找到 this suggestion它说我应该使用 maven replacer 插件。但我想让它更优雅。例如,对
我想实现以下目标:有一个使用 rest-api 运行的 camunda-7.3 预打包发行版。有另一台服务器,假设是一台 Wildfly 服务器,运行部署了 vaadin 应用程序。 在 vaadin
我们正在应用程序上实现 Camunda,但表单存在问题 我们需要实现我们自己的表单字段类型。我们使用 Camunda Modeler 并在字段的 Type 属性中使用自定义类型,但是当我们尝试部署 w
我是 Camunda BPMN 2.0 的新手,我需要有关如何实现和使用从一个池到另一个池的发送和接收任务的帮助。 最佳答案 将 JavaDelegate 实现附加到发送任务: 在MySendTas
我是一名优秀的程序员,十分优秀!