当前位置: 首页 > article >正文

setting up Activiti BPMN Workflow Engine with Spring Boot

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_dropCreates 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-failIgnores 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)

SettingValueMeaning
database-schema-updatetrueAuto-create/update tables
db-history-usedtrueEnable history tables
history-levelfullSave full execution history
check-process-definitionsfalseDon’t auto-load BPMN files
deployment-modenever-failAvoid deployment errors on startup
async-executor-activatefalseDon’t start async job processor
http://www.lryc.cn/news/2404041.html

相关文章:

  • 使用 C/C++ 和 OpenCV 提取图像的感兴趣区域 (ROI)
  • TripGenie:畅游济南旅行规划助手:个人工作纪实(二十二)
  • 如何用AI高效运营1000+Tiktok矩阵账号
  • 杭州瑞盟 MS35774/MS35774A 低噪声256细分微步进电机驱动,用于空调风门电机驱动,香薰电机驱动
  • 【论文解读】Toolformer: 语言模型自学使用工具
  • 408第一季 - 数据结构 - 线性表II
  • 网络通讯知识——通讯分层介绍,gRPC,RabbitMQ分层
  • Linux与Windows切换使用Obsidian,出现 unexplained changes 问题的解决
  • 基于VMD-LSTM融合方法的F10.7指数预报
  • 35 C 语言字符串转数值函数详解:strtof、strtod、strtold(含 errno 处理、ERANGE 错误)
  • 解决 idea提示`SQL dialect is not configured` 问题
  • springboot的test模块使用Autowired注入失败
  • 日志收集工具-Filebeat
  • 【PCIe总线】 -- PCI、PCIe相关实现
  • Vue3学习(4)- computed的使用
  • 手机上网可以固定ip地址吗?详细解析
  • 电脑同时连接内网和外网的方法,附外网连接局域网的操作设置
  • 如何在Unity中实现点击一个按钮跳转到哔哩哔哩
  • DHCP 动态主机配置协议(Dynamic host configuration protocol)逐层封装过程: DHCP --> UDP --> IP
  • PySide6 GUI 学习笔记——常用类及控件使用方法(单行文本控件QLineEdit)
  • 【数据结构】6. 时间与空间复杂度
  • Python 函数全攻略:函数进阶(生成器、闭包、内置函数、装饰器、推导式)
  • 基于springboot的藏文古籍系统
  • 重构城市应急指挥布控策略 ——无人机智能视频监控的破局之道
  • 声音信号的基频检测(python版本)
  • STM32 控制12VRGB灯带颜色亮度调节,TFTLCD显示
  • Hive开窗函数的进阶SQL案例
  • 【JJ斗地主-注册安全分析报告】
  • 《绩效管理》要点总结与分享
  • Microsoft前后端不分离编程新风向:cshtml