Camunda BPM 7.2:在 processes.xml 中注册引擎插件

Camunda BPM 7.2: register engine-plugin in processes.xml

根据文档,您可以在 processes.xml 中注册一个插件。 (参见 http://docs.camunda.org/latest/guides/user-guide/#process-engine-process-engine-plugins-configuring-process-engine-plugins)。

XSD 表示元素 'process-engine' 是一个复杂类型并且具有属性 'name'(参见 http://camunda.org/schema/1.0/ProcessApplication.xsd)。

但是当我使用以下 processes.xml 将流程应用程序部署到 camunda-bpm-wildfly-7.2.0 时,出现此错误:

19:16:08,547 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.deployment.unit."firstTestProject-0.0.1-SNAPSHOT.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."firstTestProject-0.0.1-SNAPSHOT.war".POST_MODULE: JBAS018733: Failed to process phase POST_MODULE of deployment "firstTestProject-0.0.1-SNAPSHOT.war"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_21]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_21]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_21]
Caused by: org.camunda.bpm.engine.ProcessEngineException: cvc-type.3.1.1: Element 'process-engine' is a simple type, so it cannot have attributes, excepting those whose namespace name is identical to 'http://www.w3.org/2001/XMLSchema-instance' and whose [local name] is one of 'type', 'nil', 'schemaLocation' or 'noNamespaceSchemaLocation'. However, the attribute, 'name' was found. | vfs:/content/firstTestProject-0.0.1-SNAPSHOT.war/WEB-INF/classes/META-INF/processes.xml | line 6 | column 34

我的processes.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<process-application
xmlns="http://www.camunda.org/schema/1.0/ProcessApplication" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<process-archive name="myBpmApp">
    <process-engine name="default">
        <plugins>
            <plugin>
                <class>myrealm.bpm.camunda.engine.plugin.MyIdentityProviderPlugin</class>
            </plugin>
        </plugins>
    </process-engine>
    <properties>
        <property name="isDeleteUponUndeploy">false</property>
        <property name="isScanForProcessDefinitions">true</property>
    </properties>
</process-archive>

我想念什么? 谢谢!

流程引擎配置必须在 process-archive 声明之外。在 process-archive 配置中,您只能指定要使用的流程引擎的名称(参见 docs)。

例如:

<?xml version="1.0" encoding="UTF-8"?>
<bpm-platform xmlns="http://www.camunda.org/schema/1.0/BpmPlatform"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <process-engine name="my-engine">
    <!-- your configuration -->
  </process-engine>

  <process-archive>
    <process-engine>my-engine</process-engine>
    <properties>
      <property name="isDeleteUponUndeploy">false</property>
      <property name="isScanForProcessDefinitions">true</property>
    </properties>
  </process-archive>
</bpm-platform>