Broadleaf Microservices
  • v1.0.0-latest-prod

Workflow Services Configuration Properties

This document covers the miscellaneous configuration properties used by Workflow Services.

Client Properties

Name Description Default

broadleaf.workflow.client.flows.*

Properties describing the workflows that are available

broadleaf.workflow.client.steps.*

Properties describing the steps (activities) per workflow

Service Properties

Name Description Default

broadleaf.workflow.service.processor-count

The number of concurrent threads processing workflows on a given replica of WorkflowServices.

5

broadleaf.workflow.service.processor-acquire-timeout

Maximum amount of time (in milliseconds) that the system will wait to acquire a processor before giving up and rejecting the initiating message

10000 ms (10 seconds)

broadleaf.workflow.service.max-side-effect-count

Side effects store state for the workflow. Side effects store a range of values that include history elements and initial configuration. When a workflow exceeds this count, it results in workflow failure

10000

broadleaf.workflow.service.nack-delay

Amount of time (in milliseconds) to wait before polling again when a message is nacked because there are currently no processing threads available

5000 ms (5 seconds)

broadleaf.workflow.service.max-poll-interval

Maximum interval (in milliseconds) between polling attempts for workflows

180000 ms (180 seconds)

broadleaf.workflow.service.min-poll-interval

Minimum interval (in milliseconds) between polling attempts for workflows

120000 ms (120 seconds)

broadleaf.workflow.service.non-active-workflow-timeout

Timeout (in milliseconds) for a workflow that appears to be non-active. A non-active workflow is one that is in PROCESSING status, but has not registered a lastStepTimeout (i.e. is null)

180000 ms (180 seconds)

broadleaf.workflow.service.retention-period

The retention period (in milliseconds) for completed or failed workflows

90L * 24L * 60L * 60L * 1000L ms (90 days)

broadleaf.workflow.service.binder-type

The type of binder used for messaging

kafka

Data Source Properties

These properties are for configuring the datasource.

General Data Source

This exposes all of the Spring DataSourceProperties under broadleaf.workflow.datasource. This is to allow the regular property structure to be restricted to a specific Broadleaf data route.

Liquibase

This exposes all of the Spring LiquibaseProperties under broadleaf.workflow.liquibase. This is to allow the regular property structure to be restricted to a specific Broadleaf data route.

JPA

This exposes all of the Spring JpaProperties under broadleaf.workflow.jpa in addition to the Spring HibernateProperties under broadleaf.workflow.jpa.hibernate. This is to allow the regular property structure to be restricted to a specific Broadleaf data route.

Delegating Data Source

These are additional properties that define datasource configuration that employs SchemaDelegatingDataSource. This allows through configuration alone a setup that declares multiple datasources (each tied to a schema) backed by a common base datasource. This config is generally employed as part of a flex-package installation where multiple services run together in a single JVM.

  • broadleaf.workflow.delegating.schema: The schema that borrowed connections should be initialized to in SchemaDelegatingDataSource.

  • broadleaf.workflow.delegating.delegateRef: The back-reference to another section of configuration that fully describes the base datasource backing the SchemaDelegatingDataSource.