This is an automated email from the ASF dual-hosted git repository.
wmedvedeo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-kogito-apps.git
The following commit(s) were added to refs/heads/main by this push:
new e35252e39 kie-issues-2120: Adapt the configurations in Kogito Apps
Quarkus extensions to use the new Quarkus 3.20.1 mechanism (#2271)
e35252e39 is described below
commit e35252e391926a6210a4a5a254a97e57a9023267
Author: Walter Medvedeo <[email protected]>
AuthorDate: Thu Oct 2 09:43:51 2025 +0200
kie-issues-2120: Adapt the configurations in Kogito Apps Quarkus extensions
to use the new Quarkus 3.20.1 mechanism (#2271)
* kie-issues-2120: Adapt the configurations in Kogito Apps Quarkus
extensions to use the new Quarkus 3.20.1 mechanism
* Code review suggestions
---
.../runtime/pom.xml | 3 -
.../deployment/pom.xml | 3 -
.../runtime/pom.xml | 3 -
.../deployment/pom.xml | 3 -
.../runtime/pom.xml | 3 -
.../deployment/pom.xml | 3 -
.../runtime/pom.xml | 3 -
.../runtime/pom.xml | 3 -
.../index/addon/config/DataIndexBuildConfig.java | 17 ++--
....java => DataIndexConfigBuilderCustomizer.java} | 22 +++---
.../index/addon/config/DataIndexRuntimeConfig.java | 45 +++++++++--
.../config/DataIndexUIClientRuntimeConfig.java | 23 +++---
...onfig.java => QuarkusDataIndexBuildConfig.java} | 19 +++--
...smallrye.config.SmallRyeConfigBuilderCustomizer | 20 +++++
.../deployment/pom.xml | 3 -
.../runtime/pom.xml | 3 -
.../deployment/pom.xml | 3 -
.../runtime/pom.xml | 3 -
.../deployment/pom.xml | 3 -
.../runtime/pom.xml | 3 -
.../deployment/pom.xml | 3 -
.../runtime/pom.xml | 3 -
.../job-http-recipient/deployment/pom.xml | 3 -
.../job-http-recipient/runtime/pom.xml | 3 -
.../JobHttpRecipientRuntimeConfiguration.java | 16 ++--
.../job-sink-recipient/deployment/pom.xml | 3 -
.../job-sink-recipient/runtime/pom.xml | 3 -
.../JobSinkRecipientRuntimeConfiguration.java | 16 ++--
.../deployment/pom.xml | 3 -
.../runtime/pom.xml | 3 -
...onsQuarkusJobsServiceEmbeddedRuntimeConfig.java | 90 ++++++++++++++++------
31 files changed, 192 insertions(+), 142 deletions(-)
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-common/runtime/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-common/runtime/pom.xml
index ceb58da3d..af9f99249 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-common/runtime/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-common/runtime/pom.xml
@@ -101,9 +101,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-jpa/deployment/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-jpa/deployment/pom.xml
index f640a709e..33623d0cc 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-jpa/deployment/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-jpa/deployment/pom.xml
@@ -59,9 +59,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-jpa/runtime/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-jpa/runtime/pom.xml
index 260e71a2e..2ed6b7645 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-jpa/runtime/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-jpa/runtime/pom.xml
@@ -78,9 +78,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-mongodb/deployment/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-mongodb/deployment/pom.xml
index 3ea196ae5..121176e1f 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-mongodb/deployment/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-mongodb/deployment/pom.xml
@@ -55,9 +55,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-mongodb/runtime/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-mongodb/runtime/pom.xml
index 9351cdc1f..c8abbe37b 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-mongodb/runtime/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-mongodb/runtime/pom.xml
@@ -74,9 +74,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-postgresql/deployment/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-postgresql/deployment/pom.xml
index a07ec8c77..d8c80849f 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-postgresql/deployment/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-postgresql/deployment/pom.xml
@@ -67,9 +67,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-postgresql/runtime/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-postgresql/runtime/pom.xml
index 0cb657b17..da452abc7 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-postgresql/runtime/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index-persistence/kogito-addons-quarkus-data-index-persistence-postgresql/runtime/pom.xml
@@ -86,9 +86,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/pom.xml
index 9cac9ddec..68cd92b94 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/pom.xml
@@ -68,9 +68,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexBuildConfig.java
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexBuildConfig.java
index a5385ac66..6a1922295 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexBuildConfig.java
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexBuildConfig.java
@@ -18,17 +18,22 @@
*/
package org.kie.kogito.index.addon.config;
-import io.quarkus.runtime.annotations.ConfigItem;
+import java.util.Optional;
+
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
-@ConfigRoot(name = "kogito.data-index", phase = ConfigPhase.BUILD_TIME)
-public class DataIndexBuildConfig {
+@ConfigMapping(prefix = "kogito.data-index")
+@ConfigRoot(phase = ConfigPhase.BUILD_TIME)
+public interface DataIndexBuildConfig {
/**
- * If GraphQL UI should be enabled. By default, this is only included when
the application is running in dev mode.
+ * Configures whether to use Reactive or Blocking behaviour for the
RouterProducer and EventConsumer components.
+ * If the property is set, and has the value true, blocking behaviour is
configured, and the
+ * BlockingGraphqlRouterProducer and BlockingMessagingEventConsumer are
used.
+ * In any other case, the ReactiveGraphqlRouterProducer and
ReactiveMessagingEventConsumer are used.
*/
- @ConfigItem(name = "graphql.ui.always-include", defaultValue = "false")
- public boolean graphqlUIEnabled;
+ Optional<Boolean> blocking();
}
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexRuntimeConfig.java
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexConfigBuilderCustomizer.java
similarity index 56%
copy from
data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexRuntimeConfig.java
copy to
data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexConfigBuilderCustomizer.java
index aed72e1eb..33a4f9126 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexRuntimeConfig.java
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexConfigBuilderCustomizer.java
@@ -18,19 +18,15 @@
*/
package org.kie.kogito.index.addon.config;
-import java.util.Optional;
+import io.smallrye.config.SmallRyeConfigBuilder;
+import io.smallrye.config.SmallRyeConfigBuilderCustomizer;
-import io.quarkus.runtime.annotations.ConfigItem;
-import io.quarkus.runtime.annotations.ConfigPhase;
-import io.quarkus.runtime.annotations.ConfigRoot;
-
-@ConfigRoot(prefix = "kogito", name = "data-index", phase =
ConfigPhase.RUN_TIME)
-public class DataIndexRuntimeConfig {
-
- /**
- * Data Index URL
- */
- @ConfigItem(name = "url")
- public Optional<String> dataIndexUrl;
+public class DataIndexConfigBuilderCustomizer implements
SmallRyeConfigBuilderCustomizer {
+ @Override
+ public void configBuilder(SmallRyeConfigBuilder builder) {
+ // Align with quarkus to avoid the validation issue when we have
runtime and build-time configs in the same
+ // namespace.
https://github.com/quarkusio/quarkus/blob/265a4328f8195d9c2ef4fbf32f41eb23253479b7/core/runtime/src/main/java/io/quarkus/runtime/configuration/QuarkusConfigBuilderCustomizer.java#L113
+ builder.withMappingIgnore("kogito.data-index.**");
+ }
}
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexRuntimeConfig.java
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexRuntimeConfig.java
index aed72e1eb..6ffe3d0d0 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexRuntimeConfig.java
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexRuntimeConfig.java
@@ -20,17 +20,50 @@ package org.kie.kogito.index.addon.config;
import java.util.Optional;
-import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
-@ConfigRoot(prefix = "kogito", name = "data-index", phase =
ConfigPhase.RUN_TIME)
-public class DataIndexRuntimeConfig {
+@ConfigMapping(prefix = "kogito.data-index")
+@ConfigRoot(phase = ConfigPhase.RUN_TIME)
+public interface DataIndexRuntimeConfig {
/**
- * Data Index URL
+ * Data Index URL.
*/
- @ConfigItem(name = "url")
- public Optional<String> dataIndexUrl;
+ Optional<String> url();
+
+ /**
+ * Path to the Data Index web application if any.
+ */
+ @WithName("ui.path")
+ Optional<String> uiPath();
+
+ /**
+ * Path for publishing the Graphql UI.
+ */
+ @WithName("vertx-graphql.ui.path")
+ @WithDefault("/graphiql")
+ String graphqlUIPath();
+
+ /**
+ * Graphql UI tenant.
+ */
+ @WithName("vertx-graphql.ui.tenant")
+ @WithDefault("web-app-tenant")
+ String graphqlUITenant();
+
+ /**
+ * Domain Objects indexing.
+ */
+ @WithDefault("true")
+ boolean domainIndexing();
+
+ /**
+ * Availability health check enabling.
+ */
+ Optional<Boolean> healthEnabled();
}
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexUIClientRuntimeConfig.java
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexUIClientRuntimeConfig.java
index 09c75923f..6b57831ed 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexUIClientRuntimeConfig.java
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexUIClientRuntimeConfig.java
@@ -18,23 +18,28 @@
*/
package org.kie.kogito.index.addon.config;
-import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
-@ConfigRoot(prefix = "kogito", name = "dataindex", phase =
ConfigPhase.RUN_TIME)
-public class DataIndexUIClientRuntimeConfig {
+@ConfigMapping(prefix = "kogito.dataindex")
+@ConfigRoot(phase = ConfigPhase.RUN_TIME)
+public interface DataIndexUIClientRuntimeConfig {
/**
- * Data Index HTTP URL
+ * Data Index HTTP URL.
*/
- @ConfigItem(name = "http.url", defaultValue =
"http://localhost:${quarkus.http.port}")
- public String dataIndexHttpUrl;
+ @WithName("http.url")
+ @WithDefault("http://localhost:${quarkus.http.port}")
+ String dataIndexHttpUrl();
/**
- * Data Index WS URL
+ * Data Index WS URL.
*/
- @ConfigItem(name = "ws.url", defaultValue =
"ws://localhost:${quarkus.http.port}")
- public String dataIndexWebsocketUrl;
+ @WithName("ws.url")
+ @WithDefault("ws://localhost:${quarkus.http.port}")
+ String dataIndexWebsocketUrl();
}
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexBuildConfig.java
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/QuarkusDataIndexBuildConfig.java
similarity index 65%
copy from
data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexBuildConfig.java
copy to
data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/QuarkusDataIndexBuildConfig.java
index a5385ac66..ed2b43252 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/DataIndexBuildConfig.java
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/java/org/kie/kogito/index/addon/config/QuarkusDataIndexBuildConfig.java
@@ -18,17 +18,26 @@
*/
package org.kie.kogito.index.addon.config;
-import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
-@ConfigRoot(name = "kogito.data-index", phase = ConfigPhase.BUILD_TIME)
-public class DataIndexBuildConfig {
+/**
+ * We keep this class for backward compatibility purposes.
+ * Avoid using quarkus.kogito.data-index prefixed properties unless there's a
strong reason.
+ * see: DataIndexBuildConfig.
+ */
+@ConfigMapping(prefix = "quarkus.kogito.data-index")
+@ConfigRoot(phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED)
+public interface QuarkusDataIndexBuildConfig {
/**
* If GraphQL UI should be enabled. By default, this is only included when
the application is running in dev mode.
*/
- @ConfigItem(name = "graphql.ui.always-include", defaultValue = "false")
- public boolean graphqlUIEnabled;
+ @WithName("graphql.ui.always-include")
+ @WithDefault("false")
+ boolean graphqlUiAlwaysInclude();
}
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/resources/META-INF/services/io.smallrye.config.SmallRyeConfigBuilderCustomizer
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/resources/META-INF/services/io.smallrye.config.SmallRyeConfigBuilderCustomizer
new file mode 100644
index 000000000..51d60397d
--- /dev/null
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-common/runtime/src/main/resources/META-INF/services/io.smallrye.config.SmallRyeConfigBuilderCustomizer
@@ -0,0 +1,20 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+org.kie.kogito.index.addon.config.DataIndexConfigBuilderCustomizer
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-inmemory/deployment/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-inmemory/deployment/pom.xml
index 96843c1bb..625c14abe 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-inmemory/deployment/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-inmemory/deployment/pom.xml
@@ -72,9 +72,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-inmemory/runtime/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-inmemory/runtime/pom.xml
index cb609ef76..69f637bef 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-inmemory/runtime/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-inmemory/runtime/pom.xml
@@ -86,9 +86,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-jpa/deployment/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-jpa/deployment/pom.xml
index f209ed91a..b8519455b 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-jpa/deployment/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-jpa/deployment/pom.xml
@@ -68,9 +68,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-jpa/runtime/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-jpa/runtime/pom.xml
index ee1debe83..5a9e0e228 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-jpa/runtime/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-jpa/runtime/pom.xml
@@ -74,9 +74,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-mongodb/deployment/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-mongodb/deployment/pom.xml
index 9ba21ebcd..5803882d1 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-mongodb/deployment/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-mongodb/deployment/pom.xml
@@ -55,9 +55,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-mongodb/runtime/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-mongodb/runtime/pom.xml
index 7d543de52..a5666405d 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-mongodb/runtime/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-mongodb/runtime/pom.xml
@@ -74,9 +74,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-postgresql/deployment/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-postgresql/deployment/pom.xml
index 3dcd9b034..ddcd5a5c1 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-postgresql/deployment/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-postgresql/deployment/pom.xml
@@ -60,9 +60,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-postgresql/runtime/pom.xml
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-postgresql/runtime/pom.xml
index 32633b572..cad2f8a33 100644
---
a/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-postgresql/runtime/pom.xml
+++
b/data-index/data-index-quarkus/kogito-addons-quarkus-data-index/kogito-addons-quarkus-data-index-postgresql/runtime/pom.xml
@@ -70,9 +70,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/jobs-service/jobs-recipients/job-http-recipient/deployment/pom.xml
b/jobs-service/jobs-recipients/job-http-recipient/deployment/pom.xml
index fad992200..9d92fcad7 100644
--- a/jobs-service/jobs-recipients/job-http-recipient/deployment/pom.xml
+++ b/jobs-service/jobs-recipients/job-http-recipient/deployment/pom.xml
@@ -87,9 +87,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/jobs-service/jobs-recipients/job-http-recipient/runtime/pom.xml
b/jobs-service/jobs-recipients/job-http-recipient/runtime/pom.xml
index 60604380a..1605df80c 100644
--- a/jobs-service/jobs-recipients/job-http-recipient/runtime/pom.xml
+++ b/jobs-service/jobs-recipients/job-http-recipient/runtime/pom.xml
@@ -111,9 +111,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/jobs-service/jobs-recipients/job-http-recipient/runtime/src/main/java/org/kie/kogito/job/http/recipient/JobHttpRecipientRuntimeConfiguration.java
b/jobs-service/jobs-recipients/job-http-recipient/runtime/src/main/java/org/kie/kogito/job/http/recipient/JobHttpRecipientRuntimeConfiguration.java
index 340706c5b..60cdce4b9 100644
---
a/jobs-service/jobs-recipients/job-http-recipient/runtime/src/main/java/org/kie/kogito/job/http/recipient/JobHttpRecipientRuntimeConfiguration.java
+++
b/jobs-service/jobs-recipients/job-http-recipient/runtime/src/main/java/org/kie/kogito/job/http/recipient/JobHttpRecipientRuntimeConfiguration.java
@@ -18,23 +18,25 @@
*/
package org.kie.kogito.job.http.recipient;
-import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithDefault;
-@ConfigRoot(prefix = "kogito", name = "job.recipient.http", phase =
ConfigPhase.RUN_TIME)
-public class JobHttpRecipientRuntimeConfiguration {
+@ConfigMapping(prefix = "kogito.job.recipient.http")
+@ConfigRoot(phase = ConfigPhase.RUN_TIME)
+public interface JobHttpRecipientRuntimeConfiguration {
/**
* Default timeout to execute HTTP requests for the HttpRecipient when the
Job's timeout is not configured.
*/
- @ConfigItem(name = "timeout-in-millis", defaultValue = "180000")
- long timeoutInMillis;
+ @WithDefault("180000")
+ long timeoutInMillis();
/**
* Max accepted timeout to execute HTTP requests for the HttpRecipient
when the Job's timeout is configured.
* Attempts to surpass this value will result in a validation error at Job
creation time.
*/
- @ConfigItem(name = "max-timeout-in-millis", defaultValue = "300000")
- long maxTimeoutInMillis;
+ @WithDefault("300000")
+ long maxTimeoutInMillis();
}
diff --git a/jobs-service/jobs-recipients/job-sink-recipient/deployment/pom.xml
b/jobs-service/jobs-recipients/job-sink-recipient/deployment/pom.xml
index 5b9ef785f..be9e71b4c 100644
--- a/jobs-service/jobs-recipients/job-sink-recipient/deployment/pom.xml
+++ b/jobs-service/jobs-recipients/job-sink-recipient/deployment/pom.xml
@@ -79,9 +79,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git a/jobs-service/jobs-recipients/job-sink-recipient/runtime/pom.xml
b/jobs-service/jobs-recipients/job-sink-recipient/runtime/pom.xml
index df276c779..79a7ddc30 100644
--- a/jobs-service/jobs-recipients/job-sink-recipient/runtime/pom.xml
+++ b/jobs-service/jobs-recipients/job-sink-recipient/runtime/pom.xml
@@ -117,9 +117,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/jobs-service/jobs-recipients/job-sink-recipient/runtime/src/main/java/org/kie/kogito/job/sink/recipient/JobSinkRecipientRuntimeConfiguration.java
b/jobs-service/jobs-recipients/job-sink-recipient/runtime/src/main/java/org/kie/kogito/job/sink/recipient/JobSinkRecipientRuntimeConfiguration.java
index 180c7141a..4c3614d12 100644
---
a/jobs-service/jobs-recipients/job-sink-recipient/runtime/src/main/java/org/kie/kogito/job/sink/recipient/JobSinkRecipientRuntimeConfiguration.java
+++
b/jobs-service/jobs-recipients/job-sink-recipient/runtime/src/main/java/org/kie/kogito/job/sink/recipient/JobSinkRecipientRuntimeConfiguration.java
@@ -18,23 +18,25 @@
*/
package org.kie.kogito.job.sink.recipient;
-import io.quarkus.runtime.annotations.ConfigItem;
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithDefault;
-@ConfigRoot(prefix = "kogito", name = "job.recipient.sink", phase =
ConfigPhase.RUN_TIME)
-public class JobSinkRecipientRuntimeConfiguration {
+@ConfigMapping(prefix = "kogito.job.recipient.sink")
+@ConfigRoot(phase = ConfigPhase.RUN_TIME)
+public interface JobSinkRecipientRuntimeConfiguration {
/**
* Default timeout to execute HTTP requests for the SinkRecipient when the
Job's timeout is not configured.
*/
- @ConfigItem(name = "timeout-in-millis", defaultValue = "5000")
- long timeoutInMillis;
+ @WithDefault("5000")
+ long timeoutInMillis();
/**
* Max accepted timeout to execute HTTP requests for the SinkRecipient
when the Job's timeout is configured.
* Attempts to surpass this value will result in a validation error at Job
creation time.
*/
- @ConfigItem(name = "max-timeout-in-millis", defaultValue = "60000")
- long maxTimeoutInMillis;
+ @WithDefault("60000")
+ long maxTimeoutInMillis();
}
diff --git
a/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs-service-embedded/deployment/pom.xml
b/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs-service-embedded/deployment/pom.xml
index 51dc02d55..c783813f7 100644
---
a/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs-service-embedded/deployment/pom.xml
+++
b/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs-service-embedded/deployment/pom.xml
@@ -147,9 +147,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs-service-embedded/runtime/pom.xml
b/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs-service-embedded/runtime/pom.xml
index 1a08be158..3f45b901f 100644
---
a/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs-service-embedded/runtime/pom.xml
+++
b/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs-service-embedded/runtime/pom.xml
@@ -138,9 +138,6 @@
<version>${version.io.quarkus}</version>
</path>
</annotationProcessorPaths>
- <compilerArgs>
- <arg>-AlegacyConfigRoot=true</arg>
- </compilerArgs>
</configuration>
</plugin>
</plugins>
diff --git
a/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs-service-embedded/runtime/src/main/java/org/kie/kogito/addons/quarkus/jobs/service/embedded/KogitoAddonsQuarkusJobsServiceEmbeddedRuntimeConfig.java
b/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs-service-embedded/runtime/src/main/java/org/kie/kogito/addons/quarkus/jobs/service/embedded/KogitoAddonsQuarkusJobsServiceEmbeddedRuntimeConfig.java
index c310d8d1e..ae61a49a1 100644
---
a/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs-service-embedded/runtime/src/main/java/org/kie/kogito/addons/quarkus/jobs/service/embedded/KogitoAddonsQuarkusJobsServiceEmbeddedRuntimeConfig.java
+++
b/jobs-service/kogito-addons-jobs-service/kogito-addons-quarkus-jobs-service-embedded/runtime/src/main/java/org/kie/kogito/addons/quarkus/jobs/service/embedded/KogitoAddonsQuarkusJobsServiceEmbeddedRuntimeConfig.java
@@ -18,75 +18,119 @@
*/
package org.kie.kogito.addons.quarkus.jobs.service.embedded;
-import io.quarkus.runtime.annotations.ConfigItem;
+import java.util.Optional;
+
import io.quarkus.runtime.annotations.ConfigPhase;
import io.quarkus.runtime.annotations.ConfigRoot;
+import io.smallrye.config.ConfigMapping;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
-@ConfigRoot(prefix = "kogito", name = "jobs-service", phase =
ConfigPhase.RUN_TIME)
-public class KogitoAddonsQuarkusJobsServiceEmbeddedRuntimeConfig {
+@ConfigMapping(prefix = "kogito.jobs-service", namingStrategy =
ConfigMapping.NamingStrategy.VERBATIM)
+@ConfigRoot(phase = ConfigPhase.RUN_TIME)
+public interface KogitoAddonsQuarkusJobsServiceEmbeddedRuntimeConfig {
+
+ /**
+ * Embedded jobs service url.
+ */
+ String url();
/**
* The current chunk size in minutes the scheduler handles, it is used to
keep a limited number of jobs scheduled
* in the in-memory scheduler.
*/
- @ConfigItem(name = "schedulerChunkInMinutes", defaultValue = "10")
- public long schedulerChunkInMinutes;
+ @WithDefault("10")
+ long schedulerChunkInMinutes();
/**
* Minimal delay used by scheduler before firing any job.
*/
- @ConfigItem(name = "schedulerMinTimerDelayInMillis", defaultValue = "1000")
- public long schedulerMinTimerDelayInMillis;
+ @WithDefault("1000")
+ long schedulerMinTimerDelayInMillis();
/**
* The interval the jobs loading method runs to fetch the persisted jobs
from the repository.
*/
- @ConfigItem(name = "loadJobIntervalInMinutes", defaultValue = "10")
- public long loadJobIntervalInMinutes;
+ @WithDefault("10")
+ long loadJobIntervalInMinutes();
/**
* The interval based on the current time the jobs loading method uses to
fetch jobs "FROM (now -
* loadJobFromCurrentTimeIntervalInMinutes) TO schedulerChunkInMinutes
*/
- @ConfigItem(name = "loadJobFromCurrentTimeIntervalInMinutes", defaultValue
= "60")
- public long loadJobFromCurrentTimeIntervalInMinutes;
+ @WithDefault("60")
+ long loadJobFromCurrentTimeIntervalInMinutes();
/**
* Maximum amount of time the jobs service will be retrying to get a
successful execution for a job.
*/
- @ConfigItem(name = "maxIntervalLimitToRetryMillis", defaultValue = "60000")
- public long maxIntervalLimitToRetryMillis;
+ @WithDefault("60000")
+ long maxIntervalLimitToRetryMillis();
/**
* Delay between retries when a job execution fails, and it must be
retried.
*/
- @ConfigItem(name = "backoffRetryMillis", defaultValue = "1000")
- public long backoffRetryMillis;
+ @WithDefault("1000")
+ long backoffRetryMillis();
/**
* Flag to allow and force a job with expirationTime in the past to be
executed immediately. If false an
* exception will be thrown.
*/
- @ConfigItem(name = "forceExecuteExpiredJobs", defaultValue = "true")
- public boolean forceExecuteExpiredJobs;
+ @WithDefault("true")
+ boolean forceExecuteExpiredJobs();
/**
* Flag to allow that jobs that where timed-out when the jobs service was
down, must be fired immediately at the
* jobs service next startup.
*/
- @ConfigItem(name = "forceExecuteExpiredJobsOnServiceStart", defaultValue =
"true")
- boolean forceExecuteExpiredJobsOnServiceStart;
+ @WithDefault("true")
+ boolean forceExecuteExpiredJobsOnServiceStart();
/**
* Number of retries configured for the periodic jobs loading procedure.
Every time the procedure is started this
* value is considered.
*/
- @ConfigItem(name = "loadJobRetries", defaultValue = "3")
- int loadJobRetries;
+ @WithDefault("3")
+ int loadJobRetries();
/**
* Error strategy to apply when the periodic jobs loading procedure has
exceeded the jobLoadReties.
*/
- @ConfigItem(name = "loadJobErrorStrategy", defaultValue = "NONE")
- String loadJobErrorStrategy;
+ @WithDefault("NONE")
+ String loadJobErrorStrategy();
+
+ /**
+ * Heartbeat interval for the JobsServiceInstanceManager.
+ */
+ @WithName("management.heartbeat.interval-in-seconds")
+ @WithDefault("1")
+ int heardBeatIntervalInSeconds();
+
+ /**
+ * Heartbeat expiration time for the JobsServiceInstanceManager.
+ */
+ @WithName("management.heartbeat.expiration-in-seconds")
+ @WithDefault("10")
+ int heartbeatExpirationInSeconds();
+
+ /**
+ * Jobs Service id for the JobsServiceInstanceManager.
+ */
+ @WithName("management.heartbeat.management-id")
+ @WithDefault("kogito-jobs-service-leader")
+ String leaderManagementId();
+
+ /**
+ * Leader check interval for the JobsServiceInstanceManager.
+ */
+ @WithName("management.leader-check.interval-in-seconds")
+ @WithDefault("1")
+ int leaderCheckIntervalInSeconds();
+
+ /**
+ * Availability health check enabling.
+ */
+ @WithName("health-enabled")
+ Optional<Boolean> healthEnabled();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]