Process Engine Configuration
An instance of theQuarkusProcessEngineConfiguration class configures the process engine in a Quarkus application.
A QuarkusProcessEngineConfiguration instance provides the following defaults:
| Property name | Description | Default value |
|---|---|---|
jobExecutorActivate | The job executor is activated. | true |
transactionsExternallyManaged | Transactions are externally managed. | true |
databaseSchemaUpdate | The Database Configuration section goes into more details on this propery and the resulting behavior. | true |
idGenerator | An instance of StrongUuidGenerator is used. | StrongUuidGenerator |
jdbcUrl,jdbcUsername,jdbcPassword,jdbcDriver | No JDBC configuration is present since a Quarkus datasource should be configured and used. | null |
history | ASEE Flow Cockpit works best with history level FULL. | full |
application.properties format in the examples, but you can use any supported Quarkus config source.
You can set any process engine configuration properties under the quarkus.camunda prefix. The
Process Engine Configuration Properties page documents all the available properties. Please
convert any property names from camelCase to the kebab-case format, like in the following example:
Programmatic Configuration
You can also configure the process engine programmatically, by providing aQuarkusProcessEngineConfiguration CDI bean.
QuarkusProcessEngineConfiguration instance have a lower ordinal than
properties defined in a Quarkus config source.
In the above example, a QuarkusProcessEngineConfiguration CDI bean defines “customEngine” as the processEngineName.
However, if you define the following in an application.properties file
QuarkusProcessEngineConfiguration CDI bean.
Job Executor Configuration
As with the process engine configuration properties above, you can set any job executor configuration properties under thequarkus.camunda.job-executor prefix. The Job Executor Configuration Properties
page documents all the available properties. Convert any property names you intend to use from camelCase to the
kebab-case format, like in the following example:
Quarkus Extension Configuration
In addition to the general process engine and job executor configuration properties mentioned in the previous sections, the ASEE Flow Quarkus extension provides some Quarkus-specific configuration properties. They can be set through a Quarkus config source, but not through theQuarkusProcessEngineConfiguration class. You can find all
the Quarkus-specific properties in the following table:
| Prefix | Property name | Description | Default value |
|---|---|---|---|
| Data Source | |||
quarkus.camunda | .datasource | Specifies which Quarkus datasource to use. If not defined, the primary Quarkus datasource will be used. For configuring a Quarkus Datasource, have a look on the Quarkus Datasource page. | <default> |
| Job Executor | |||
quarkus.camunda.job-executor.thread-pool | .max-pool-size | Sets the maximum number of threads that can be present in the thread pool. | 10 |
.queue-size | Sets the size of the queue which is used for holding tasks to be executed. | 3 | |
Persistence
The Engine Extension integrates with a JDBC Connection Pool and a Jakarta Transaction Manager provided by Quarkus. The latter allows you to integrate your business logic into database transactions of the Engine. Read more about it under JTA Transaction Integration. A datasource is required to run the ASEE Flow process engine.Choose from multiple datasources
When multiple datasources are available in your application, you can choose the one the Engine Extension should use by its name via thecamunda.datasource configuration property. Consider the example configuration below:
Example
The following is an example of a Quarkusapplication.properties file that provides custom values for the process
engine configuration, job executor and data source: