Spring Settings
The following YAML shows all settings that are available when using FluxFlow with Spring Boot. Assigned values are indicating the default values for each setting. A setting's role and their influence is described in a comment above each key. Note that some settings and defaults are only available and effective if the corresponding module is present within the classpath.
fluxflow:
action:
# boolean: If set to true,
# FluxFlow enforces all step data to be valid
# before actions can be invoked.
validate-before: true
change-detection:
# boolean: If set to true,
# workflow persist operations are skipped if no changes could be detected.
workflow: true
# boolean: if set to true,
# step persist operations are skipped if no changes could be detected.
step: true
data:
# boolean: If set to true,
# step data can be modified even if the step
# itself isn't active anymore.
allow-inactive-modification: true
migration:
# boolean: If set to true,
# Quartz will automatically create and migrate its database schema.
quartz.enabled: true
mongo:
# boolean: If set to false,
# all MongoDB functionality will be disabled.
enabled: true
migrations:
typeRecords: fail # fail = prevent startup, warn = warn about failing records
# Can be used to tweak the default collation settings used when **initially**
# creating FluxFlow's MongoDB collections.
collation:
default: # Will be used if there is no collection-specific setting.
# The following keys represent a MongoDB collation document. Refer to
# https://www.mongodb.com/docs/manual/reference/collation/#collation-document
# for more information.
locale: "" # string (required)
strength: null # int
caseLevel: null # boolean
caseFirst: null # string
numericOrdering: null # boolean
alternate: null # string
maxVariable: null # string
backwards: null # boolean
normalization: null # boolean
# Sets the workflow document collation options.
# Same model as `fluxflow.mongo.collation.default`,
# which will be used if omitted.
workflow: null
# Sets the step document collation options.
# Same model as `fluxflow.mongo.collation.default`,
# which will be used if omitted.
step: null
# Sets the job document collation options.
# Same model as `fluxflow.mongo.collation.default`,
# which will be used if omitted.
job: null
# Sets the continuationRecord document collation options.
# Same model as `fluxflow.mongo.collation.default`,
# which will be used if omitted.
continuationRecord: null
quartz:
# boolean: if set to true, Quartz will search for pre-scheduled jobs by also comparing their job data map.
# Note that enabling this might come with a performance impact,
# as it may require iterating over all previously scheduled jobs [O(n^2)].
legacyLookup: false
scheduling:
# boolean: if true,
# FluxFlow will attempt to re-schedule jobs that are missing from the scheduler's persistent storage.
reconcileOnStartup: false
versioning:
comparison: # Can be used to tweak the compatibility when comparing different versions
bothUnknown: Unknown # The old and new versions are unknown
unknownToKnown: Incompatible # The old version is unknown, while the new one is known
knownToUnknown: Unknown # The old version is known, but the new one isn't
noExactMatch: Incompatible # Both versions are known, but they do not match
steps:
recordVersion: true # boolean: If true, step definition versions are persisted.
requiredCompatibility: Unknown # Compatible, Unknown or Incompatible
automaticRestore: true # If set to true, FluxFlow tries to fall back to activating
# failed steps using pre-persisted step definitions.
automaticUpgrade: true # If set to true, FluxFlow
# automatically updates compatible steps.
requiredUpgradeCompatibility: Unknown # # Compatible, Unknown or Incompatible