Skip to content

Commit

Permalink
chore(content): Add Quarkus 3.14 Updates to Docs
Browse files Browse the repository at this point in the history
Co-authored-by: Cole Isaac <[email protected]>
Co-authored-by: Miklas Boskamp <[email protected]>

Related-to: camunda/camunda-bpm-platform#4163
  • Loading branch information
psavidis committed Sep 12, 2024
1 parent 485b496 commit e557137
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 19 deletions.
27 changes: 27 additions & 0 deletions content/update/minor/721-to-722/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down Expand Up @@ -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).
39 changes: 20 additions & 19 deletions content/user-guide/quarkus-integration/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -176,7 +177,7 @@ the Quarkus-specific properties in the following table:
<tr><td colspan="4"><b>Job Executor</b></td></tr>

<tr>
<td rowspan="2"><code>quarkus.camunda.job-executor.thread-pool</code></td>
<td rowspan="2"><code>quarkus.camunda.job-executor.generic-config.thread-pool</code></td>
<td><code>.max-pool-size</code></td>
<td>Sets the maximum number of threads that can be present in the thread pool.</td>
<td><code>10</code></td>
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit e557137

Please sign in to comment.