spring.activiti.database-schema-update: true
-
Controls how Activiti handles its database tables on startup.
-
Options:
-
true
– Default. Creates or updates tables automatically if missing. ✅ Good for development. -
false
– Disables auto-update. Throws an error if tables are missing or version mismatch. ❌ For production. -
create_drop
– Creates tables on start and drops them on shutdown. ⚠️ Risky, only for testing. -
drop-create
– Drops existing tables and creates new ones every time app starts.
-
📚 spring.activiti.db-history-used: true
-
Enables Activiti's history tables.
-
These store past process execution info (like who approved what and when).
-
Without this, even with
history-level
set, no history tables are created.
🕘 spring.activiti.history-level: full
-
Defines how much history Activiti saves.
-
Options:
-
none
– No history (best performance). -
activity
– Saves basic activity instance data. -
audit
– Adds task info like who did what. -
full
– Saves everything, including variables and execution details. ✅ Best for debugging/auditing.
-
🔍 spring.activiti.check-process-definitions: false
-
Whether to automatically scan and deploy BPMN process files from
resources/processes/
. -
false
– You must manually deploy processes (e.g., via code or REST). -
✅ Useful when you don’t want automatic redeployments (e.g., in production).
🚫 spring.activiti.deployment-mode: never-fail
-
Controls deployment conflict handling:
-
default
– May fail if process definition is already deployed. -
single-resource
– Deploys each file separately. -
never-fail
– Ignores duplicate deployments, avoids errors.
-
-
✅ Safer option to prevent deployment exceptions during startup.
⏱ spring.activiti.async-executor-activate: false
-
Controls whether the async executor is started.
-
Async executor handles asynchronous jobs and timers in workflows.
-
false
– Disables it. -
✅ Disable if you don’t use timers/events to avoid unnecessary thread usage.
✅ Summary (recommended for dev)
Setting | Value | Meaning |
---|---|---|
database-schema-update | true | Auto-create/update tables |
db-history-used | true | Enable history tables |
history-level | full | Save full execution history |
check-process-definitions | false | Don’t auto-load BPMN files |
deployment-mode | never-fail | Avoid deployment errors on startup |
async-executor-activate | false | Don’t start async job processor |