在 Camunda 中禁用运行时数据库

问题描述

我有一个像这样的简单过程:

enter image description here

进程没有任何用户任务,只有一些服务任务,但进程会启动很多次,性能问题很重要。 我将 HistoryLevel 设置为 none 以获得更好的性能,它在负载测试中很有效。

我有一个问题,在网上搜索时找不到。

有什么办法可以在 Camunda 中禁用运行时数据库吗?我不确定这是否是一个合理的目标,但我想知道这一点。

解决方法

流程模型不是从类路径中读取的,而是部署到数据库并从那里读取的。因此,即使您禁用历史记录并且流程模型中没有异步延续或等待状态,Camunda 也需要一个关系数据库。

但是,如果您根本不需要持久性,那么您可以简单地配置一个内存数据库,例如 Camunda 在其不同发行版中出于开发目的提供的 H2 数据库。您可以将数据库 url 切换为例如jdbc:h2:mem:camunda-db(参见https://www.h2database.com/html/features.html#in_memory_databases)切换到内存配置。

24 Hour Fitness 每天使用类似的方法运行数百万个流程实例。您可能对他们在 CamundaCon 2020.1 上的演讲感兴趣: https://vimeo.com/440715573

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...