Flowable Application Properties

The Flowable autoconfiguration is leveraging the Spring Boot properties and configuration mechanism. See Properties and Configuration in the Spring Boot reference guide.

Here is a list of configuration properties that the Flowable Spring Boot support consumes.

# ===================================================================
# Common Flowable Spring Boot Properties
#
# This sample file is provided as a guideline. Do NOT copy it in its
# entirety to your own application.
# ===================================================================

# Core (Process) https://github.com/flowable/flowable-engine/tree/main/modules/flowable-spring-boot/flowable-spring-boot-starters/flowable-spring-boot-autoconfigure/src/main/java/org/flowable/spring/boot/FlowableProperties.java

# Whether process definitions need to be auto deployed.
flowable.check-process-definitions=true

# The FQN of custom Mybatis mappers that need to be added to the engine.
flowable.custom-mybatis-mappers=

# The location of the custom Mybatis XML Mappers that need to be added to the engine.
flowable.custom-mybatis-x-m-l-mappers=

# In some situations you want to set the schema to use for table checks / generation if the database metadata doesn't return that correctly.
flowable.database-schema=

# The strategy that should be used for the database schema.
flowable.database-schema-update=true

# Whether db history should be used.
flowable.db-history-used=true

# The name of the auto deployment.
flowable.deployment-name=SpringBootAutoDeployment

# The history level that needs to be used.
flowable.history-level=audit

# The folder in which processes need to be searched for auto deployment.
flowable.process-definition-location-prefix=classpath*:/processes/

# The suffixes (extensions) of the files that needs to be deployed from the 'processDefinitionLocationPrefix' location.
flowable.process-definition-location-suffixes=**.bpmn20.xml,**.bpmn

# Process https://github.com/flowable/flowable-engine/tree/main/modules/flowable-spring-boot/flowable-spring-boot-starters/flowable-spring-boot-autoconfigure/src/main/java/org/flowable/spring/boot/process/FlowableProcessProperties.java


# The maximum amount of process definitions available in the process definition cache. Per default it is -1 (all process definitions).
flowable.process.definition-cache-limit=-1

# Enables extra checks on the BPMN xml that is parsed. Unfortunately, this feature is not available on some platforms, hence you need to disable if your platform does not allow the use of StaxSource during XML parsing.
flowable.process.enable-safe-xml=true

# Load on startup of the Process dispatcher servlet.
flowable.process.servlet.load-on-startup=-1

# The name of the Process servlet.
flowable.process.servlet.name=Flowable BPMN Rest API

# The context path for the Process rest servlet.
flowable.process.servlet.path=/process-api

# Process Async Executor


# Whether the async executor should be activated.
flowable.process.async-executor-activate=true

# The amount of time an async job is locked when acquired by the async executor. During this period of time, no other async executor will try to acquire and lock this job.
flowable.process.async.executor.async-job-lock-time=PT5M

# The time the async job acquisition thread will wait to execute the next acquirement query. This happens when no new async jobs were found or when less async jobs have been fetched. Default value = 10 seconds.
flowable.process.async.executor.default-async-job-acquire-wait-time=PT10S

# The time the async job (both timer and async continuations) acquisition thread will wait when the queue is full to execute the next query.
flowable.process.async.executor.default-queue-size-full-wait-time=PT5S

# The time the timer job acquisition thread will wait to execute the next acquirement query. This happens when no new timer jobs were found or when less async jobs have been fetched. Default value = 10 seconds.
flowable.process.async.executor.default-timer-job-acquire-wait-time=PT10S

# ???
flowable.process.async.executor.max-async-jobs-due-per-acquisition=1

# The amount of time a timer job is locked when acquired by the async executor. During this period of time, no other async executor will try to acquire and lock this job.
flowable.process.async.executor.timer-lock-time=PT5M


# DMN https://github.com/flowable/flowable-engine/tree/main/modules/flowable-spring-boot/flowable-spring-boot-starters/flowable-spring-boot-autoconfigure/src/main/java/org/flowable/spring/boot/dmn/FlowableDmnProperties.java


# Whether to perform deployment of resources, default is 'true'.
flowable.dmn.deploy-resources=true

# The name of the deployment for the dmn resources.
flowable.dmn.deployment-name=SpringBootAutoDeployment

# Enables extra checks on the DMN xml that is parsed. Unfortunately, this feature is not available on some platforms, hence you need to disable if your platform does not allow the use of StaxSource during XML parsing.
flowable.dmn.enable-safe-xml=true

# Whether the dmn engine needs to be started.
flowable.dmn.enabled=true

# Whether the history for the DMN engine should be enabled.
flowable.dmn.history-enabled=true

# The location where the dmn resources are located.
flowable.dmn.resource-location=classpath*:/dmn/

# The suffixes for the resources that need to be scanned.
flowable.dmn.resource-suffixes=**.dmn,**.dmn.xml,**.dmn11,**.dmn11.xml

# Load on startup of the DMN dispatcher servlet.
flowable.dmn.servlet.load-on-startup=-1

# The name of the DMN servlet.
flowable.dmn.servlet.name=Flowable DMN Rest API

# The context path for the DMN rest servlet.
flowable.dmn.servlet.path=/dmn-api

# Set this to false if you want to ignore the decision table hit policy validity checks to result in an failed decision table state. A result is that intermediate results created up to the point the validation error occurs are returned.
flowable.dmn.strict-mode=true

# IDM https://github.com/flowable/flowable-engine/tree/main/modules/flowable-spring-boot/flowable-spring-boot-starters/flowable-spring-boot-autoconfigure/src/main/java/org/flowable/spring/boot/idm/FlowableIdmProperties.java


# Whether the idm engine needs to be started.
flowable.idm.enabled=true

# The type of the password encoder that needs to be used.
flowable.idm.password-encoder=

# Load on startup of the IDM dispatcher servlet.
flowable.idm.servlet.load-on-startup=-1

# The name of the IDM servlet.
flowable.idm.servlet.name=Flowable IDM Rest API

# The context path for the IDM rest servlet.
flowable.idm.servlet.path=/idm-api

# IDM Ldap https://github.com/flowable/flowable-engine/tree/main/modules/flowable-spring-boot/flowable-spring-boot-starters/flowable-spring-boot-autoconfigure/src/main/java/org/flowable/spring/boot/ldap/FlowableLdapProperties.java


# Name of the attribute that matches the user email.
flowable.idm.ldap.attribute.email=

# Name of the attribute that matches the user first name.
flowable.idm.ldap.attribute.first-name=

# Name of the attribute that matches the group id.
flowable.idm.ldap.attribute.group-id=

# Name of the attribute that matches the group name.
flowable.idm.ldap.attribute.group-name=

# Name of the attribute that matches the group type.
flowable.idm.ldap.attribute.group-type=

# Name of the attribute that matches the user last name.
flowable.idm.ldap.attribute.last-name=

# Name of the attribute that matches the user id.
flowable.idm.ldap.attribute.user-id=

# The base 'distinguished name' (DN) from which the searches for users and groups are started.
flowable.idm.ldap.base-dn=

# Allows to set the size of the {@link org.flowable.ldap.LDAPGroupCache}. This is an LRU cache that caches groups for users and thus avoids hitting the LDAP system each time the groups of a user needs to be known.
flowable.idm.ldap.cache.group-size=-1

# Allows to set all LDAP connection parameters which do not have a dedicated setter. See for example http://docs.oracle.com/javase/tutorial/jndi/ldap/jndi.html for custom properties. Such properties are for example to configure connection pooling, specific security settings, etc.
flowable.idm.ldap.custom-connection-parameters=

# Whether to enable LDAP IDM Service.
flowable.idm.ldap.enabled=false

# The base 'distinguished name' (DN) from which the searches for groups are started.
flowable.idm.ldap.group-base-dn=

# The class name for the initial context factory.
flowable.idm.ldap.initial-context-factory=com.sun.jndi.ldap.LdapCtxFactory

# The password that is used to connect to the LDAP system.
flowable.idm.ldap.password=

# The port on which the LDAP system is running.
flowable.idm.ldap.port=-1

# The query that is executed when searching for all groups.
flowable.idm.ldap.query.all-groups=

# The query that is executed when searching for all users.
flowable.idm.ldap.query.all-users=

# The query that is executed when searching for the groups of a specific user.
flowable.idm.ldap.query.groups-for-user=

# The query that is executed when searching for a user by full name.
flowable.idm.ldap.query.user-by-full-name-like=

# The query that is executed when searching for a user by userId.
flowable.idm.ldap.query.user-by-id=

# The query that is executed when searching for a specific group by groupId.
flowable.idm.ldap.query.group-by-id=

# The timeout (in milliseconds) that is used when doing a search in LDAP. By default set to '0', which means 'wait forever'.
flowable.idm.ldap.search-time-limit=0

# The value that is used for the 'java.naming.security.authentication' property used to connect to the LDAP system.
flowable.idm.ldap.security-authentication=simple

# The server host on which the LDAP system can be reached. For example 'ldap://localhost'.
flowable.idm.ldap.server=

# The user id that is used to connect to the LDAP system.
flowable.idm.ldap.user=

# The base 'distinguished name' (DN) from which the searches for users are started.
flowable.idm.ldap.user-base-dn=

# Flowable Mail https://github.com/flowable/flowable-engine/tree/main/modules/flowable-spring-boot/flowable-spring-boot-starters/flowable-spring-boot-autoconfigure/src/main/java/org/flowable/spring/boot/FlowableMailProperties.java


# The default from address that needs to be used when sending emails.
flowable.mail.server.default-from=flowable@localhost

# The force to address(es) that would be used when sending out emails. IMPORTANT: If this is set then all emails will be send to defined address(es) instead of the address configured in the MailActivity.
flowable.mail.server.force-to=

# The host of the mail server.
flowable.mail.server.host=localhost

# The password for the mail server authentication.
flowable.mail.server.password=

# The port of the mail server.
flowable.mail.server.port=1025

# The SSL port of the mail server.
flowable.mail.server.ssl-port=1465

# Sets whether SSL/TLS encryption should be enabled for the SMTP transport upon connection (SMTPS/POPS).
flowable.mail.server.use-ssl=false

# Set or disable the STARTTLS encryption.
flowable.mail.server.use-tls=false

# The username that needs to be used for the mail server authentication. If empty no authentication would be used.
flowable.mail.server.username=

# Flowable Http https://github.com/flowable/flowable-engine/tree/main/modules/flowable-spring-boot/flowable-spring-boot-starters/flowable-spring-boot-autoconfigure/src/main/java/org/flowable/spring/boot/FlowableHttpProperties.java


# Whether to use system properties (e.g. http.proxyPort).
flowable.http.user-system-properties=false

# Connect timeout for the http client
flowable.http.connect-timeout=5s

# Socket timeout for the http client
flowable.http.socket-timeout=5s

# Connection Request Timeout for the http client
flowable.http.connection-request-timeout=5s

# Request retry limit for the http client
flowable.http.request-retry-limit=3

# Whether to disable certificate validation for the http client
flowable.http.disable-cert-verify=false

# Flowable REST


# Whether to enable CORS requests at all. If false, the other properties have no effect
flowable.rest.app.cors.enabled=true

# Whether to include credentials in a CORS request
flowable.rest.app.cors.allow-credentials=true

# Comma-separated URLs to accept CORS requests from
flowable.rest.app.cors.allowed-origins=*

# Comma-separated HTTP headers to allow in a CORS request
flowable.rest.app.cors.allowed-headers=*

# Comma-separated HTTP verbs to allow in a CORS request
flowable.rest.app.cors.allowed-methods=DELETE,GET,PATCH,POST,PUT

# Comma-separated list of headers to expose in CORS response
flowable.rest.app.cors.exposed-headers=*

# Actuator


# Maximum time that a response can be cached.
management.endpoint.flowable.cache.time-to-live=0ms

# Whether to enaable the flowable endpoint.
management.endpoint.flowable.enabled=true

See origin here: application properties.