bpm-platform.xml
The bpm-platform.xml file is part of the CadenzaFlow distribution and can be used for configuration of process engines and the job executor.
It is used to configure CadenzaFlow in the following distributions:
Xml Schema Namespace
The namespace for the bpm-platform.xml file is http://www.cadenzaflow.org/schema/1.0/BpmPlatform. The XSD file can be found in the cadenzaflow-engine.jar file.
Example
<?xml version="1.0" encoding="UTF-8"?>
<bpm-platform xmlns="http://www.cadenzaflow.org/schema/1.0/BpmPlatform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.cadenzaflow.org/schema/1.0/BpmPlatform http://www.cadenzaflow.org/schema/1.0/BpmPlatform ">
<job-executor>
<job-acquisition name="default" />
</job-executor>
<process-engine name="default">
<job-acquisition>default</job-acquisition>
<configuration>org.cadenzaflow.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>
Syntax Reference
| 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 |
Configure Location of the bpm-platform.xml File
You can configure the location of the bpm-platform.xml, so the file can be stored externally to allow an easy update path of cadenzaflow-bpm-platform.ear. This negates the work of unpacking / repackaging the ear when you need to change the configuration.
This feature is available for:
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/cadenzaflow/.cadenzaflow/bpm-platform.xml or http://cadenzaflow.org/bpm-platform.xml.
During startup of the cadenzaflow-bpm-platform, it tries to discover the location of the bpm-platform.xml file from the following sources, in the listed order:
- JNDI entry is available at
java:/comp/env/bpm-platform-xml - Environment variable
BPM_PLATFORM_XMLis set - System property
bpm.platform.xmlis set, e.g., when starting the server JVM it is appended as-Dbpm.platform.xmlon the command line META-INF/bpm-platform.xmlexists on the classpath- (For Tomcat only): checks if there is a
bpm-platform.xmlinside 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 cadenzaflow-bpm-platform.ear, except when you use the Tomcat version of the platform.
Using System Properties
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 (-Doption) 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.cadenzaflow.bpm.engine.impl.plugin.AdministratorAuthorizationPlugin</class>
<properties>
<property name="administratorUserName">${cadenzaflow.administratorUserName}</property>
</properties>
</plugin>
<!-- ... -->