首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于MockExpressionManager的野蝇Camunda过程引擎配置

基于MockExpressionManager的野蝇Camunda过程引擎配置
EN

Stack Overflow用户
提问于 2015-04-17 13:50:04
回答 1查看 2.4K关注 0票数 1

我们已经安装了Camunda作为Wildfly8的一个模块。一切都很好,但我需要一种方法来模拟java委托进行单元测试(使用Arquillian)。据我所知,可以使用org.camunda.bpm.engine.test.mock.Mocks提供模拟的委托。根据JavaDoc,我应该在流程引擎配置中注册MockExpressionManager。我在MockExpressingManager这里找到了一些类似的配置,https://github.com/camunda/camunda-bpm-assert/blob/master/camunda-bpm-assert-examples/src/test/resources/camunda.cfg.xml

但是用于野蝇的camunda模块是在独立的-Ful.xml中配置的:

代码语言:javascript
复制
        <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>

但这不起作用,在野蝇创业公司我看到了

代码语言:javascript
复制
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委托?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-19 22:23:36

通过查看Camunda代码,他们希望传递给表达式管理器的引用。如果我不得不猜的话,这是作为一个字符串传入的。我能想到的一种处理这个问题的方法是创建您的CdiJtaProcessEngineConfiguration子类,它配置适当的表达式管理器,将JAR部署到它们的模块中,并将其连接进来。

就我个人而言,我发现他们的配置对我来说太紧了,在直接的野蝇集成中,我选择直接在我的应用程序中配置他们的库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29701148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档