diff --git a/content/update/minor/721-to-722/_index.md b/content/update/minor/721-to-722/_index.md index dec1020f3..b99ecbbb2 100644 --- a/content/update/minor/721-to-722/_index.md +++ b/content/update/minor/721-to-722/_index.md @@ -28,6 +28,7 @@ This document guides you through the update from Camunda `7.21.x` to `7.22.0` an 1. For administrators and developers: [Update to Groovy 4.0](#update-to-groovy-4) 1. For administrators and developers: [Sending telemetry feature removed](#sending-telemetry-feature-removed) 1. For administrators: [Database transaction isolation level `READ_COMMITTED` is enforced](#database-transaction-isolation-level-read-committed-is-enforced) +1. For developers: [Quarkus 3.14 Extension Update](#quarkus-3-14-extension-update) This guide covers mandatory migration steps and optional considerations for the initial configuration of new functionality included in Camunda 7.22. @@ -264,3 +265,29 @@ When starting the engine, a check is performed in order to determine if the tran This behaviour can be disabled by setting the `skipIsolationLevelCheck` flag to `true`. Doing this will prevent an exception from being thrown and a warning message will be logged instead. [See here]({{< ref "/reference/deployment-descriptors/tags/process-engine.md#configuration-properties" >}}) for more details about this and other properties. + +# Quarkus 3.14 Extension Update + +The Camunda Quarkus Extension has been updated to use Quarkus `3.14`. This version brings its own features and changes. +For a complete list, see the [Quarkus 3.14.2 Release](https://quarkus.io/blog/quarkus-3-14-2-released) blog post. + +## Breaking Changes + +`Quarkus 3.14` extensions introduce **breaking changes** in the way the Quarkus runtime treats configuration. + +A config migration is required to remain consistent with the new behavior of the framework (see [property examples](#property-examples) below). + +The config properties now follow a similar scheme to the [Camunda Spring Boot Starter Configuration]({{< ref "/user-guide/spring-boot-integration/configuration.md#generic-properties" >}}). + +The change affects the configuration of the [process engine]({{< ref "/reference/deployment-descriptors/tags/process-engine.md#configuration-properties" >}}) and the [job executor]({{< ref "/reference/deployment-descriptors/tags/job-executor.md" >}}). + +**Reason for Change**: The Quarkus migration guide encourages using named `ConfigMappings`, and we chose to adopt it to future-proof the extension. +This requires using the new namespace `generic-config`. + +- `quarkus.camunda.enforce-history-time-to-live` **becomes** `quarkus.camunda.generic-config.enforce-history-time-to-live` + +- `quarkus.camunda.job-executor.thread-pool.max-pool-size` **becomes** `quarkus.camunda.job-executor.generic-config.thread-pool.max-pool-size` + +For a detailed guide on the new Quarkus properties, visit the updated [Quarkus Configuration]({{< ref "/user-guide/quarkus-integration/configuration.md" >}}) page. + +To read more on how Quarkus extensions treat configuration differently, see the [Quarkus 3.14 Migration Guide](https://github.com/quarkusio/quarkus/wiki/Migration-Guide-3.14#for-extension-developers). \ No newline at end of file diff --git a/content/user-guide/quarkus-integration/configuration.md b/content/user-guide/quarkus-integration/configuration.md index 0e966e493..8f128c9f0 100644 --- a/content/user-guide/quarkus-integration/configuration.md +++ b/content/user-guide/quarkus-integration/configuration.md @@ -99,9 +99,10 @@ You can set any process engine configuration properties under the `quarkus.camun convert any property names from `camelCase` to the `kebab-case` format, like in the following example: ```properties -quarkus.camunda.cmmn-enabled=false -quarkus.camunda.dmn-enabled=false -quarkus.camunda.history=none +quarkus.camunda.generic-config.cmmn-enabled=false +quarkus.camunda.generic-config.dmn-enabled=false +quarkus.camunda.generic-config.history=none +quarkus.camunda.generic-config.initialize-telemetry=false ``` ### Programmatic Configuration @@ -125,7 +126,7 @@ In the above example, a `QuarkusProcessEngineConfiguration` CDI bean defines "cu However, if you define the following in an `application.properties` file ```properties -quarkus.camunda.process-engine-name=quarkusEngine +quarkus.camunda.generic-config.process-engine-name=quarkusEngine ``` then "quarkusEngine" will be used as the process engine name since Quarkus config sources have a higher ordinal than a @@ -139,10 +140,10 @@ page documents all the available properties. Convert any property names you inte `kebab-case` format, like in the following example: ```properties -quarkus.camunda.job-executor.max-jobs-per-acquisition=5 -quarkus.camunda.job-executor.lock-time-in-millis=500000 -quarkus.camunda.job-executor.wait-time-in-millis=7000 -quarkus.camunda.job-executor.max-wait=65000 +quarkus.camunda.job-executor.generic-config.max-jobs-per-acquisition=5 +quarkus.camunda.job-executor.generic-config.lock-time-in-millis=500000 +quarkus.camunda.job-executor.generic-config.wait-time-in-millis=7000 +quarkus.camunda.job-executor.generic-config.max-wait=65000 ``` ## Quarkus Extension Configuration @@ -176,7 +177,7 @@ the Quarkus-specific properties in the following table: Job Executor - quarkus.camunda.job-executor.thread-pool + quarkus.camunda.job-executor.generic-config.thread-pool .max-pool-size Sets the maximum number of threads that can be present in the thread pool. 10 @@ -217,18 +218,18 @@ engine configuration, job executor and data source: ```properties # process engine configuration -quarkus.camunda.cmmn-enabled=false -quarkus.camunda.dmn-enabled=false -quarkus.camunda.history=none +quarkus.camunda.generic-config.cmmn-enabled=false +quarkus.camunda.generic-config.dmn-enabled=false +quarkus.camunda.generic-config.history=none # job executor configuration -quarkus.camunda.job-executor.thread-pool.max-pool-size=12 -quarkus.camunda.job-executor.thread-pool.queue-size=5 -quarkus.camunda.job-executor.max-jobs-per-acquisition=5 -quarkus.camunda.job-executor.lock-time-in-millis=500000 -quarkus.camunda.job-executor.wait-time-in-millis=7000 -quarkus.camunda.job-executor.max-wait=65000 -quarkus.camunda.job-executor.backoff-time-in-millis=5 +quarkus.camunda.job-executor.generic-config.thread-pool.max-pool-size=12 +quarkus.camunda.job-executor.generic-config.thread-pool.queue-size=5 +quarkus.camunda.job-executor.generic-config.max-jobs-per-acquisition=5 +quarkus.camunda.job-executor.generic-config.lock-time-in-millis=500000 +quarkus.camunda.job-executor.generic-config.wait-time-in-millis=7000 +quarkus.camunda.job-executor.generic-config.max-wait=65000 +quarkus.camunda.job-executor.generic-config.backoff-time-in-millis=5 # custom data source configuration and selection quarkus.datasource.my-datasource.db-kind=h2