The process engine configuration can be placed in both processes.xml and the bpm-platform.xml files. If the process engine is configured in either or both of those files, it will be bootstrapped by the Camunda BPM platform infrastructure and be made available through BpmPlatform.getProcessEngineService().getProcessEngine("name of process engine").

Example

The following example shows an XML snippet which can be placed in both processes.xml and/or bpm-platform.xml.

  1. <process-engine name="default">
  2. <job-acquisition>default</job-acquisition>
  3. <configuration>org.camunda.bpm.engine.impl.cfg.StandaloneProcessEngineConfiguration</configuration>
  4. <datasource>java:jdbc/ProcessEngine</datasource>
  5. <properties>
  6. <property name="history">full</property>
  7. <property name="databaseSchemaUpdate">true</property>
  8. <property name="authorizationEnabled">true</property>
  9. </properties>
  10. </process-engine>

Syntax Reference

Tag name Parent tag name Required? Description
<process-engine> <process-application> or <bpm-platform> true Container element for the configuration of a process engine.

Attributes:

  • name: allows you to define the name of the process engine (Required).

Text Content: None.

|<job-acquisition>|<process-engine>|true| Assign the process engine to a job acquisition.
Attributes: None.

Text Content: The name of the job acquisition to be used for this process engine. Job acquisitions are configured in the bpm-platform.xml file.

Example: <job-acquisition>default</job-acquisition>

|<configuration>|<process-engine>|false| Provide the name of the process engine configuration class.
Attributes: None.

Text Content: The fully qualified classname of the Process Engine Configuration class to be used for this process engine. The class must be a subclass of ProcessEngineConfigurationImpl".

Default Value:StandaloneProcessEngineConfiguration

Example: <configuration>
my.custom.ProcessEngineConfiguration
</configuration>

|<datasource>|<process-engine>|false| Provide the JDBC name of the datasource to use for the process engine.
Attributes: None.

Text Content: JDBC name of the datasource to use for this process engine.

Default Value: null.

Example: <datasource>java:jdbc/ProcessEngine</datasource>

|<properties>|<process-engine>, <plugin>|false| Container element for providing a set of process engine configuration (or plugin) properties.
Attributes: None.

Text Content: None.

|<property>|<properties>|false| Set value for process engine configuration property or of a process engine plugin.
Attributes:

  • name: The name of the property to be set (Required). The process engine configuration (or plugin) class must provide a setter method setXXX() for the property name.

Text Content: The value of the property to be set. Property values are converted into String, Integer or Boolean values, depending on the type of the setter in the process engine configuration (or plugin) class.

Example: true

|<plugins>|<process-engine>|false| Container element for providing a set of process engine plugin configurations.
Attributes: None.

Text Content: None.

|<plugin>|<plugins>|false| Container element for providing an individual process engine plugin configuration.
Attributes: None.

Text Content: None.

|<class>|<plugin>|false| Sets the classname of a process engine plugin.
Attributes: None.

Text Content: The fully qualified classname of a process engine plugin. Must be an implementation of ProcessEnginePlugin

Configuration Properties

The following is a list with the most commonly used process engine configuration properties, along with some explanations. The properties can be used in the <property name="foo">bar</property> tag, where foo is the name of the property and bar is the value of the property.

Property name Type Description
authorizationEnabled Boolean Activates authorization checks.
autoStoreScriptVariables Boolean Controls whether all global script variables should be automatically stored as process variables or not. Default value is false.

Values: true, false (Boolean).

|databaseSchemaUpdate|String| Sets the value for process engine database schema creation.
Values: false, create-drop, true.

|databaseTablePrefix|String| Specifies a prefix for any table name included in SQL statements made by the process engine. Can be used to point the engine to a specific schema by setting the value to MYSCHEMA. or tables with a naming pattern by setting the value to MY_TABLE_PREFIX_PATTERN.
|defaultNumberOfRetries|Integer| Specifies how many times a job will be executed before an incident is raised. Default value: 3
|enableExceptionsAfterUnhandledBpmnError|Boolean| If set to true, Process Engine Exception is thrown when unhandled BPMN Error occurs. Default value: false
Values: true, false (Boolean).

|enableExpressionsInAdhocQueries|Boolean| If set to true, expressions can be used when creating and executing adhoc queries. For details, see the section on security considerations for custom code in the user guide. Default value is false.
Values: true, false (Boolean).

|enableExpressionsInStoredQueries|Boolean| If set to true, expressions can be used when creating and executing stored queries. For details, see the section on security considerations for custom code in the user guide. Default value is true.
Values: true, false (Boolean).

|enableScriptCompilation|Boolean| Controls whether the process engine should attempt to compile script sources and cache the compilation result or not. Default value is true.
Values: true, false (Boolean).

|forceCloseMybatisConnectionPool|Boolean| Controls whether a Mybatis-managed database connection pool is force closed when the process engine is closed. Closing the pool closes all active and idle database connections.
Values: true (default), false.

|failedJobRetryTimeCycle|String| Sets how often a job is retried after a fail and how long the engine should wait until it tries to execute a job again. See the user guide for more details on this setting.
|history|String| Sets the level of the process engine history.
Values: none, activity, audit, full.

|jdbcDriver|String| Sets the fully qualified classname of the JDBC driver to use.
This is usually used if the process engine is NOT configured using a <datasource> (see above) but using the built-in mybatis connection pool instead.

|jdbcPassword|String| Sets the password of the JDBC connection.
This is usually used if the process engine is NOT configured using a <datasource> (see above) but using the built-in mybatis connection pool instead.

|jdbcUrl|String| Sets the JDBC url for the database connection.
This is usually used if the process engine is NOT configured using a <datasource> (see above) but using the built-in mybatis connection pool instead.

|jdbcUsername|String| Sets the username of the JDBC connection.
This is usually used if the process engine is NOT configured using a <datasource> (see above) but using the built-in mybatis connection pool instead.

|jdbcBatchProcessing|Boolean| Controls if the engine executes the jdbc statements as Batch or not.
Default is true, but this has to be disabled for some databases. See the user guide for further details.

|jobExecutorAcquireByDueDate|Boolean| Controls whether the job executor acquires the next jobs to execute ordered by due date. Default value is false. See the user guide for more details on this setting.
Values: true, false (Boolean).

|jobExecutorActivate|Boolean| Controls whether the process engine starts with an active job executor or not. For a shared process engine configuration, the default value is true. For an embedded process engine configuration, the default value is false. See the user guide for more details on this setting.
Values: true, false (Boolean).

|jobExecutorDeploymentAware|Boolean| Controls whether the job executor is deployment aware or not.
Values: true, false (Boolean).

|jobExecutorPreferTimerJobs|Boolean| Controls whether the job executor prefers due timer jobs over other job types. Default value is false. See the user guide for more details on this setting.
Values: true, false (Boolean).

|tenantCheckEnabled|Boolean| Controls whether the process engine performs tenant checks to ensure that an authenticated user can only access data that belongs to one of his tenants. Default value is true. See the user guide for more details.
Values: true, false (Boolean).

|batchJobsPerSeed|Integer| Sets the number of batch execution jobs created per batch seed job invocation. See the user guide for more information on batch execution. Default value: 100
|invocationsPerBatchJob|Integer| Sets the number of invocations a single batch execution job executes. See the user guide for more information on batch execution. Default value: 1
|batchPollTime|Integer| Sets the poll interval of the batch monitor job to check for batch completion in seconds. See the user guide for more information on batch execution. Default value: 30
|batchJobPriority|Integer| Sets the default batch job priority. See the user guide for more information on job prioritization. Default value: 0
|deploymentLockUsed|Boolean| Sets if the process engine must acquire an exclusive lock when creating a deployment. Default value: true
|deploymentSynchronized|Boolean| Sets if processing of the deployment must be synchronized. When true several deployments will be processed sequentially on one process engine node. When false, they may be processed in parallel, though depending of value of deploymentLockUsed they may still be synchronized using database pessimistic lock. Default value: true
|javaSerializationFormatEnabled|Boolean| Sets if Java serialization format can be used, when setting variables by their serialized representation. Default value: false

History cleanup configuration parameters

|historyCleanupBatchWindowStartTime|String|History cleanup batch window start time in the format HH:mmZ (Z is for RFC 822 time zone) or HH:mm. E.g., 20:00+0100 or 20:00. In case of null, no batch window is considered to be configured and history cleanup can only be called manually.
|historyCleanupBatchWindowEndTime|String|History cleanup batch window end time in the format HH:mmZ (Z is for RFC 822 time zone) or HH:mm. E.g., 23:00-0300 or 23:00. In case batchWindowEndTime exceeds batchWindowStartTime it is considered to be on the same date (e.g., cleanup runs each day between 20:00 and 23:00). Otherwise it is considered to be on the next calendar day (e.g., cleanup starts each day at 20:00 and finishes the next day at 01:00). Default value is 00:00.
|mondayHistoryCleanupBatchWindowStartTime|String|History cleanup batch window start time for Mondays. Requires the same format as historyCleanupBatchWindowStartTime. In case it is not configured, batch window configured with historyCleanupBatchWindowStartTime and historyCleanupBatchWindowEndTime will be used for this day of week.
|mondayHistoryCleanupBatchWindowEndTime|String|History cleanup batch window end time for Mondays. Requires the same format and follows the same logic as historyCleanupBatchWindowEndTime.
|tuesdayHistoryCleanupBatchWindowStartTime|String|Similar to mondayHistoryCleanupBatchWindowStartTime, but for Tuesdays.
|tuesdayHistoryCleanupBatchWindowEndTime|String|Similar to mondayHistoryCleanupBatchWindowEndTime, but for Tuesdays.
|wednesdayHistoryCleanupBatchWindowStartTime|String|Similar to mondayHistoryCleanupBatchWindowStartTime, but for Wednesdays.
|wednesdayHistoryCleanupBatchWindowEndTime|String|Similar to mondayHistoryCleanupBatchWindowEndTime, but for Wednesdays.
|thursdayHistoryCleanupBatchWindowStartTime|String|Similar to mondayHistoryCleanupBatchWindowStartTime, but for Thursdays.
|thursdayHistoryCleanupBatchWindowEndTime|String|Similar to mondayHistoryCleanupBatchWindowEndTime, but for Thursdays.
|fridayHistoryCleanupBatchWindowStartTime|String|Similar to mondayHistoryCleanupBatchWindowStartTime, but for Fridays.
|fridayHistoryCleanupBatchWindowEndTime|String|Similar to mondayHistoryCleanupBatchWindowEndTime, but for Fridays.
|saturdayHistoryCleanupBatchWindowStartTime|String|Similar to mondayHistoryCleanupBatchWindowStartTime, but for Saturdays.
|saturdayHistoryCleanupBatchWindowEndTime|String|Similar to mondayHistoryCleanupBatchWindowEndTime, but for Saturdays.
|sundayHistoryCleanupBatchWindowStartTime|String|Similar to mondayHistoryCleanupBatchWindowStartTime, but for Sundays.
|sundayHistoryCleanupBatchWindowEndTime|String|Similar to mondayHistoryCleanupBatchWindowEndTime, but for Sundays.
|historyCleanupBatchSize|Integer|Defines the amount of top-level objects (e.g., historic process instances) to be removed at once. Default and maximum value is 500.
|historyCleanupBatchThreshold|Integer|Defines the minimum amount of top-level objects required for data to be removed. Default value is 10. Hint: if the value is too small and the process engine continues to be used during history cleanup, it can happen that real SQL delete statements are called very frequently for small amounts of data.
|historyCleanupDegreeOfParallelism|Integer|Defines the level of parallelism for history cleanup. Default value is 1 (no parallelism). Maximum allowed value is 8.
|historyCleanupMetricsEnabled|Boolean|Activates metrics for history cleanup. Default value is true;.
|batchOperationHistoryTimeToLive|String|Defines history time to live for historic batch operations.The history time to live defines the number of days using a time specified by the ISO-8601 date format. The function only accepts the notation to define a number of days.
|batchOperationsForHistoryCleanup|Map|Defines history time to live for each specific historic batch operation.The history time to live defines the number of days using a time specified by the ISO-8601 date format. The function only accepts the notation to define a number of days.

Login parameters

|loginMaxAttempts|Integer|Defines the maximum number of attempts a user can try to login before this user is locked. Default value: 10
|loginDelayMaxTime|Integer|Defines the maximum amount of time (in seconds) for which a user must wait until they are able to try to login again. Default value: 60 seconds
|loginDelayFactor|Integer|Defines the factor by which the delay is calculated after an unsuccessful login attempt. Default value: 2
|loginDelayBase|Integer|Defines the base by which the delay is calculated after an unsuccessful login attempt. Default value: 3

原文: https://docs.camunda.org/manual/7.9/reference/deployment-descriptors/tags/process-engine/