Camunda7集成SpringBoot配置
官方文档地址:https://docs.camunda.org/manual/latest/user-guide/spring-boot-integration/configuration/
Prefix | Property name | Description | Default value |
---|---|---|---|
General | |||
camunda.bpm | .enabled | 切换以禁用 Camunda 的自动配置。用于在集成测试中排除 Camunda | TRUE |
.process-engine-name | 流程引擎的名字 | Camunda 默认值 | |
.generate-unique-process-engine-name | 生成流程引擎的唯一名称 | FALSE | |
.generate-unique-process-application-name | 为每个流程应用部署生成唯一的流程应用名称 | FALSE | |
.default-serialization-format | 默认序列化格式 | Camunda 默认值 | |
.history-level | Camunda 历史等级(历史数据记录级别,有none:不记录任何历史数据,activity:仅记录流程实例的启动和结束以及活动实例的开始和结束;audit:记录 activity 级别的数据,并且还记录所有用户任务的创建、完成和变量的修改;full:记录所有历史数据,包括所有的流程变量、任务事件、活动实例事件等) | FULL | |
.history-level-default | Camunda 在 history-level 设置为 auto 时使用的历史级别,但是无法自动确定历史级别时。 | FULL | |
.auto-deployment-enabled | 如果流程应该自动部署。在使用 SpringBootProcessApplication 时,此功能被禁用。Camunda 的自动部署功能可能会与 Spring Boot 的集成方式发生冲突。为了避免潜在的问题和不一致性,Camunda 推荐在使用 Spring Boot 时禁用其自动部署功能 | TRUE | |
.default-number-of-retries | 指定作业在引发问题之前将被执行的次数 | 3 | |
.job-executor-acquire-by-priority | 如果设置为 true,作业执行器将获取具有最高优先级的作业,优先执行高优先级的任务 | FALSE | |
.license-file | 提供到您的Camunda许可文件的URL,并在应用程序启动时自动插入到数据库中(但仅当数据库中未找到有效的许可密钥时)。注意:仅在使用 camunda-bpm-spring-boot-starter-webapp-ee 时才可用此属性。 | - | |
.id-generator | 配置 idGenerator。允许的取值为:simple、strong、prefixed。prefixed id 生成器类似于 strong,但它使用 Spring 应用程序名称(${spring.application.name})作为每个 id 的前缀。提示:prefixed根据应用程序名生成id,这将允许将相同的 Camunda 数据库用于多个应用程序实例,并确保每个应用程序实例生成的 ID 都具有唯一的前缀,以防止 ID 冲突。 | strong | |
.version | 流程引擎的版本 | 只读值,例如,7.4.0 | |
.formatted-version | 流程引擎的格式化版本 | 只读值,例如,(v7.4.0) | |
.deployment-resource-pattern | 自动部署的位置 | classpath*:/.bpmn, classpath:/.bpmn20.xml, classpath:/.dmn, classpath:/.dmn11.xml, classpath:/.cmmn, classpath:/.cmmn10.xml, classpath😗*/*.cmmn11.xml | |
Job Execution | |||
camunda.bpm.job-execution | .enabled | 如果设置为 false,则根本不会创建任何 JobExecutor bean。可以用于测试目的 | TRUE |
.deployment-aware | 作业执行器(Job Executor)是否具有部署感知的能力在检测到新的流程定义或其他相关资源部署时,自动更新自己的配置或重新加载所需的信息,以确保它能够正确地执行新的任务。 | FALSE | |
.core-pool-size | 设置为大于1的值以激活并行作业执行 | 3 | |
.keep-alive-seconds | 指定线程在没有更多任务时保持活动的时间,单位为毫秒。当时间到期时,线程将被终止,以使核心线程池大小得以维持。 | 0 | |
.lock-time-in-millis | 指定作业被获取后锁定执行的时间,单位为毫秒。在此期间,其他作业执行器无法获取该作业 | 300000 | |
.max-jobs-per-acquisition | 设置一次获取的作业的最大数量 | 3 | |
.max-pool-size | 并行执行作业的最大线程数量 | 10 | |
.queue-capacity | 设置用于保存待执行任务的队列的大小 | 3 | |
.wait-time-in-millis | 指定作业获取线程的等待时间,单位为毫秒,以防在获取期间可执行的作业少于请求的数量。如果这种情况反复发生,等待时间将按照 waitIncreaseFactor 因子的指数增加。等待时间受 maxWait 限制。 | 5000 | |
.max-wait | 在作业获取过程中,如果可执行的作业数量少于请求的数量,那么作业获取线程的等待时间将受到限制,不会超过指定的最大等待时间。 | 60000 | |
.backoff-time-in-millis | 作业获取线程获取到作业但无法锁定的情况下,指定的等待时间(以毫秒为单位)。这种情况表明有其他作业获取线程在并行获取作业。如果这种情况反复发生,等待时间将按照指数方式增加,增加因子为 waitIncreaseFactor。等待时间的上限由 maxBackoff 设定。每次增加等待时间时,获取到的作业数量也会按照 waitIncreaseFactor 增加。这个机制的作用是在高并发情况下,通过逐步增加等待时间和获取的作业数量,以降低系统负载和提高性能 | 0 | |
.max-backoff | 指定在作业获取线程获取到作业但无法锁定的情况下,作业获取线程的最大等待时间,单位为毫秒。这种情况通常表明有其他作业获取线程正在并行获取相同的作业。当这种情况反复发生时,等待时间会逐渐增加,但不会超过指定的最大等待时间(maxBackoff)。这有助于调整系统在高并发环境下的表现,避免无限制地等待作业锁定而导致性能问题。 | 0 | |
.backoff-decrease-threshold | 指定在作业获取周期中成功获取作业且未发生作业锁定失败的次数,之后会减少后退时间。在这种情况下,后退时间会通过 waitIncreaseFactor 减小。(后退时间是在一些情况下引入的等待时间,通常是在获取到作业但无法锁定时。)后退时间减少表明系统在一段时间内成功处理了作业的情况,因此可以缩短等待时间以提高系统的响应速度。减少后退时间的次数由配置中指定的次数决定,之后会再次增加,这种机制有助于在系统负载波动时进行适应性调整。 | 0 | |
.wait-increase-factor | 指定在其激活条件反复满足时,等待时间和后退时间增加的因子 | 2 | |
Datasource | |||
camunda.bpm.database | .schema-update | 如果应该应用自动模式更新,请使用以下选项之一:[true, false, create, create-drop, drop-create]。 true:启用自动模式更新。 false:禁用自动模式更新。 create:在启动时创建模式,如果模式已经存在,则不做任何更改。 create-drop:在启动时创建模式,但在关闭时删除模式。 drop-create:在启动时删除现有模式,然后重新创建新模式。 | TRUE |
.type | 底层数据库的类型。可能的取值有:h2、mysql、mariadb、oracle、postgres、mssql、db2。 | 将自动从数据源确定 | |
.table-prefix | Camunda数据库表的前缀。注意:如果使用schema-update,则不会应用表前缀。 | Camunda 默认值 | |
.schema-name | 数据库模式名称 | Camunda 默认值 | |
.jdbc-batch-processing | 控制引擎是否将 JDBC 语句作为批处理执行。对于某些数据库,必须禁用此选项。有关详细信息,请参阅用户指南 Oracle版本低于12的情况下批处理不起作用 在MariaDB和DB2上使用批处理时jdbcStatementTimeout被忽略 | Camunda 默认值: true | |
Prefix | Property name | Description | Default value |
------ | ------------- | ----------- | ------------- |
Eventing | |||
camunda.bpm.eventing | .execution | 启用委托执行事件的事件处理 | TRUE |
.history | 启用历史事件的事件处理 | TRUE | |
.task | 启用任务事件的事件处理 | TRUE | |
.skippable | 控制监听器是注册为内置还是可跳过 | TRUE | |
Management | |||
camunda.bpm.management | .health.camunda.enabled | 启用默认的 Camunda 健康指标 | TRUE |
Metrics | |||
camunda.bpm.metrics | .enabled | 启用度量报告 | Camunda 默认值 |
.db-reporter-activate | 启用数据库度量报告 | Camunda 默认值 | |
Webapp | |||
camunda.bpm.webapp | .enabled | 禁用 Camunda Webapp 的自动配置开关 | TRUE |
.index-redirect-enabled | Registers a redirect from / to camunda’s bundled index.html. 注册从 / 到 Camunda 捆绑的 index.html 的重定向。 如果将此属性设置为 false,则会考虑使用默认的 Spring Boot 行为。 | TRUE | |
.application-path | 更改 Web 应用程序的应用路径。当设置为 / 时,将恢复 Camunda Spring Boot Starter <= 3.4.x 的旧有行为。 | /camunda | |
Webapp CSRF | |||
camunda.bpm.webapp.csrf | .target-origin | 设置应用程序预期的部署域 | Not set |
.deny-status | 设置拒绝请求时使用的 HTTP 响应状态码 | 403 | |
.random-class | 设置用于生成令牌的类的名称 | java.security.SecureRandom | |
.entry-points | 设置额外的 URL,这些 URL 不会被测试是否存在有效令牌 | Not set | |
.enable-secure-cookie | 如果设置为 true,则启用 Cookie 标志 Secure。 用于启用或禁用 Cookie 的 Secure 标志的配置选项。当设置为 true 时,表示启用了 Secure 标志,这意味着浏览器仅在通过 HTTPS 连接时才会发送此 Cookie enable-secure-cookie 是用于启用或禁用 Cookie 的 Secure 标志的配置选项。当设置为 true 时,表示启用了 Secure 标志,这意味着浏览器仅在通过 HTTPS 连接时才会发送此 Cookie。 这是一种增加安全性的措施,因为通过 HTTPS 传输的数据是加密的,而通过 HTTP 传输的数据则是明文的。因此,启用 Secure 标志可以确保该 Cookie 只在安全的加密连接下传输,防止在非加密连接上被拦截。 | FALSE | |
.enable-same-site-cookie | 启用 Cookie 的 SameSite 标志 | TRUE | |
.same-site-cookie-option | 可以配置为 STRICT 或 LAX。 注意: 当 enable-same-site-cookie 设置为 false 时会被忽略。 不能与 same-site-cookie-value 同时设置。 | Not set | |
.same-site-cookie-value | 自定义 Cookie 属性的值,当 enable-same-site-cookie 设置为 false 时会被忽略。 不能与 same-site-cookie-option 同时设置 | Not set | |
.cookie-name | 一个自定义值,用于更改 Cookie 的名称,一个自定义值,用于更改 Cookie 的名称。 注意:请确保另外为每个 Web 应用程序(例如 Cockpit)单独更改 Cookie 的名称。 | XSRF-TOKEN | |
Webapp Session Cookie | |||
camunda.bpm.webapp.session-cookie | .enable-secure-cookie | 如果设置为 true ,则启用了 Secure 标志,用于会话 Cookie。这表示该 Cookie 只能在通过 HTTPS 连接时发送。启用 Secure 标志有助于提高安全性,因为它确保会话仅通过加密的连接进行传输,防止在非加密连接上被拦截。注意:如果通过其他方式已经在 Cookie 中设置了 Secure 标志,那么通过将此属性设置为 false 将不会将其删除。 | FALSE |
.enable-same-site-cookie | 如果设置为 false ,则禁用了 Cookie 的 SameSite 标志。默认情况下,SameSite Cookie 的默认值是 LAX ,可以通过 same-site-cookie-option 配置属性进行更改。这个设置关系到 Cookie 在跨站点请求中的行为,具体来说,当 SameSite 设置为 LAX 时,表示仅在导航到目标站点的顶级浏览上下文时才发送 Cookie。注意:如果通过其他方式已经在 Cookie 中设置了 SameSite 标志,那么此属性不会对其进行调整或删除。 | TRUE | |
.same-site-cookie-option | 可以配置为 STRICT 或 LAX。 注意: 当 enable-same-site-cookie 设置为 false 时会被忽略。 不能与 same-site-cookie-value 同时设置。 如果 SameSite 标志已通过其他方式设置,此属性不会更改其值。 | Not set | |
.same-site-cookie-value | 自定义 Cookie 属性的值 | Not set | |
.cookie-name | 用于配置要调整的会话 Cookie 的名称 | JSESSIONID | |
Webapp Header Security | |||
camunda.bpm.webapp.header-security | .xss-protection-disabled | 如果设置为 true,则可以完全禁用该头部 | FALSE |
.xss-protection-option | 允许的值集合: - BLOCK :如果浏览器检测到跨站脚本攻击,页面将被完全阻止。- SANITIZE :如果浏览器检测到跨站脚本攻击,页面将从可疑的部分进行消毒(值为 0 )。注意: - 当 xss-protection-disabled 设置为 true 时会被忽略。- 不能与 xss-protection-value 同时设置。 | BLOCK | |
.xss-protection-value | 可以指定头部的自定义值。 注意: - 当 xss-protection-disabled 设置为 true 时会被忽略。- 不能与 xss-protection-option 同时设置。 | 1; mode=block | |
.content-security-policy-disabled | 如果设置为 true,则可以完全禁用该头部 | FALSE | |
.content-security-policy-value | 可以指定头部的自定义值。 注意:当 content-security-policy-disabled 设置为 true 时,此属性将被忽略。 | base-uri ‘self’ | |
.content-type-options-disabled | 如果设置为 true,则可以完全禁用该头部 | FALSE | |
.content-type-options-value | 可以指定头部的自定义值,注意:当 content-security-policy-disabled 设置为 true 时,此属性将被忽略,默认情况下,该头部是被禁用的。 | nosniff | |
.hsts-disabled | 将其设置为 false 以启用头部 | TRUE | |
.hsts-max-age | 浏览器应该记住通过 HTTPS 访问 Web 应用程序的秒数。 注意: - 默认情况下对应一年。 - 当 hstsDisabled 设置为 true 时会被忽略。- 不能与 hstsValue 同时设置。- 允许的最大值是 2^31 - 1 。 | 31536000 | |
.hsts-include-subdomains-disabled | HSTS 是否对所有子域启用 注意: - 当 hstsDisabled 设置为 true 时会被忽略。- 不能与 hstsValue 同时设置。 | TRUE | |
.hsts-value | 可以指定头部的自定义值 注意:- 当 hstsDisabled 设置为 true 时会被忽略。- 不能与 hstsMaxAge 或 hstsIncludeSubdomainsDisabled 同时设置。 | max-age=31536000 | |
Webapp Auth Cache | |||
camunda.bpm.webapp.auth.cache | .ttl-enabled | 如果设置为 false,则可以完全禁用身份验证缓存时间,即:身份验证信息将在 HTTP 会话的生命周期内进行缓存。 允许的值集合是 true 和 false 。 | TRUE |
.time-to-live | 这是一个以毫秒为单位的时间周期,在 Web 应用程序在重新创建缓存并再次从数据库查询身份验证信息之前重复使用缓存的时间 允许的值集合: - 介于 1 和 2^63-1 之间的时间周期(以毫秒为单位)。- 0 ,这实际上导致在每个 REST API 请求上查询身份验证信息。注意:当 enabled 设置为 false 时将被忽略。 | 300,000 | |
Authorization | |||
camunda.bpm.authorization | .enabled | 启用授权 | Camunda 默认值 |
.enabled-for-custom-code | 启用用于自定义代码的授权 | Camunda 默认值 | |
.authorization-check-revokes | 配置授权检查撤销 | Camunda 默认值 | |
.tenant-check-enabled | 执行租户检查,以确保经过身份验证的用户只能访问属于他的租户之一的数据 | TRUE | |
Admin User | |||
camunda.bpm.admin-user | .id | 用户名(例如,‘admin’) | - |
.password | 初始密码 | #NAME? | |
.firstName, .lastName, .email | 附加的(可选的)用户属性 | Defaults to value of ‘id’ | |
Filter | |||
camunda.bpm.filter | .create | “show all” 过滤器的名称,如果设置了这个值,在启动时将创建一个新的过滤器,用于显示所有任务。这对于在 H2 数据库上进行测试非常有用。 | 用于测试在 H2 数据库上 |