This reference explains the syntax of the camunda BPM deployment descriptors. The deployment descriptors are xml configuration files which allow configuration of the camunda BPM platform and declaratively specify the BPMN 2.0 deployments to the process engine.
camunda BPM provides the following deployment descriptors:
Syntax Reference
This guide is a syntax reference for the above mentioned files. The User Guide explains when and how to use the deployment descriptors.
The bpm-platform.xml
file is part of the camunda BPM platform distribution and can be used for configuration of process engines and the job executor.
It is used to configure the camunda BPM platform in the following distributions:
JBoss Application Server 7 / Wildfly 8
The bpm-platform.xml
file is not used in the camunda BPM distribution for JBoss Application Server 7 / Wildfly 8. There, the configuration is added to the central application server configuration file (standalone.xml
or domain.xml
). The XML schema is the same (i.e. the same elements and properties can be used). See the The camunda JBoss Subsystem section of the User Guide for more details.
The namespace for the bpm-platform.xml
file is http://www.camunda.org/schema/1.0/BpmPlatform
. The XSD file can be found in the camunda-engine.jar
file.
<?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"
xsi:schemaLocation="http://www.camunda.org/schema/1.0/BpmPlatform http://www.camunda.org/schema/1.0/BpmPlatform ">
<job-executor>
<job-acquisition name="default" />
</job-executor>
<process-engine name="default">
<job-acquisition>default</job-acquisition>
<configuration>org.camunda.bpm.engine.impl.cfg.JtaProcessEngineConfiguration</configuration>
<datasource>jdbc/ProcessEngine</datasource>
<properties>
<property name="history">full</property>
<property name="databaseSchemaUpdate">true</property>
<property name="transactionManagerJndiName">java:appserver/TransactionManager</property>
<property name="authorizationEnabled">true</property>
</properties>
</process-engine>
</bpm-platform>
Tag name | Parent tag name | Required? | Description |
---|---|---|---|
<bpm-platform> |
None. | true | Root element of the bpm-platform.xml file. |
<job-executor> |
<bpm-platform> |
true | See job-executor Reference |
<process-engine> |
<bpm-platform> |
false | See process-engine Reference |
You can configure the location of the bpm-platform.xml
, so the file can be stored externally to allow an easy upgrade path of camunda-bpm-platform.ear. This negates the work of unpacking / repackaging the ear when you need to change the configuration.
This feature is available for:
It is not available for the JBoss AS 7 / Wildfly 8 subsystem implementation, because the subsystem implementation uses the JBoss specific standalone.xml
to configure the platform.
To specify the location you have to provide an absolute path or an http/https url pointing to the bpm-platform.xml
file, e.g '/home/camunda/.camunda/bpm-platform.xml' or 'http://camunda.org/bpm-platform.xml'.
During startup of the camunda-bpm-platform, it tries to discover the location of the bpm-platform.xml
file from the following sources in the listed order:
java:/comp/env/bpm-platform-xml
BPM_PLATFORM_XML
is setbpm.platform.xml
is set, e.g when starting the server JVM it is appended as -Dbpm.platform.xml
on the command lineMETA-INF/bpm-platform.xml
exists on the classpathbpm-platform.xml
inside the folder specified by ${CATALINA_BASE} || ${CATALINA_HOME} + /conf/
The discovery stops when one of the above mentioned sources is found or, in case none is found, it falls back to the bpm-platform.xml
on the classpath, respectively ${CATALINA_BASE} || ${CATALINA_HOME} + /conf/
for Tomcat. We ship a default bpm-platform.xml
file inside the camunda-bpm-platform.ear, except when you use the Tomcat or JBoss version of the platform.
In order to externalize environment specific parts of the configuration, it is possible to reference system properties using Ant-style expressions (i.e. ${PROPERTY_KEY}
). Expression resolution is supported within the property
elements only. System properties may be set via command line (-D
option) or in an implementation specific manner (Apache Tomcat's catalina.properties
for example).
Complex operations are not supported, but you may combine more than one expression in a single property
element (e.g. ${ldap.host}:${ldap.port}
).
Example:
<!-- ... -->
<plugin>
<class>org.camunda.bpm.engine.impl.plugin.AdministratorAuthorizationPlugin</class>
<properties>
<property name="administratorUserName">${camunda.administratorUserName}</property>
</properties>
</plugin>
<!-- ... -->
The processes.xml
file is deployed as part of a process application and is used for configuration of the deployment of BPMN 2.0 resource files. Additionally, it can be used to configure process engines which are started / stopped with the deployment of the application.
See the processes.xml section of the User Guide for more details..
The namespace for the processes.xml file is http://www.camunda.org/schema/1.0/ProcessApplication
. The XSD file can be found in the camunda-engine.jar
file.
The processes.xml
may be left blank (can be empty). In this case, default values are used. See the Empty processes.xml section of the User Guide for more details.
<process-application
xmlns="http://www.camunda.org/schema/1.0/ProcessApplication"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<process-archive name="loan-approval">
<process-engine>default</process-engine>
<properties>
<property name="isDeleteUponUndeploy">false</property>
<property name="isScanForProcessDefinitions">true</property>
</properties>
</process-archive>
</process-application>
Tag name | Parent tag name | Required? | Description |
---|---|---|---|
<process-application> |
None. | true | Root element of the processes.xml file. |
<process-engine> |
<process-application> |
false | See process-engine Reference |
<process-archive> |
<process-application> |
false | See process-archive Reference |