diff --git a/.github/workflows/quarkus-build-native.yaml b/.github/workflows/quarkus-build-native.yaml
index 15ec1f31..8543f187 100644
--- a/.github/workflows/quarkus-build-native.yaml
+++ b/.github/workflows/quarkus-build-native.yaml
@@ -11,21 +11,18 @@ jobs:
strategy:
matrix:
java_version:
- - '11'
- # - '17'
+ - '17'
+ - '21'
steps:
- uses: actions/checkout@v3
- uses: graalvm/setup-graalvm@v1
with:
- version: '22.3.1'
java-version: ${{ matrix.java_version }}
- components: 'native-image'
github-token: ${{ secrets.GB_TOKEN }}
- name: Build & test with native-image
run: |
echo "GRAALVM_HOME: $GRAALVM_HOME"
echo "JAVA_HOME: $JAVA_HOME"
java --version
- gu --version
native-image --version
mvn verify -Prelease -Dnative -Dgpg.skip
diff --git a/.github/workflows/quarkus-build.yaml b/.github/workflows/quarkus-build.yaml
index 01019101..65cf9e32 100644
--- a/.github/workflows/quarkus-build.yaml
+++ b/.github/workflows/quarkus-build.yaml
@@ -7,8 +7,8 @@ jobs:
strategy:
matrix:
java_version:
- - '11'
- '17'
+ - '21'
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
diff --git a/deployment/src/main/java/com/datastax/oss/quarkus/deployment/api/CassandraClientBuildTimeConfig.java b/deployment/src/main/java/com/datastax/oss/quarkus/deployment/api/CassandraClientBuildTimeConfig.java
index d907f5a3..b18ef226 100644
--- a/deployment/src/main/java/com/datastax/oss/quarkus/deployment/api/CassandraClientBuildTimeConfig.java
+++ b/deployment/src/main/java/com/datastax/oss/quarkus/deployment/api/CassandraClientBuildTimeConfig.java
@@ -18,9 +18,11 @@
import com.datastax.oss.driver.api.core.metadata.NodeStateListener;
import com.datastax.oss.driver.api.core.metadata.schema.SchemaChangeListener;
import com.datastax.oss.driver.api.core.tracker.RequestTracker;
-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;
import java.util.List;
import java.util.Optional;
@@ -30,14 +32,16 @@
*
Settings specified in application.properties under the {@code quarkus.cassandra} prefix will
* be mapped to fields in this class and its child configuration classes.
*/
-@ConfigRoot(name = "cassandra", phase = ConfigPhase.BUILD_TIME)
-public class CassandraClientBuildTimeConfig {
+@ConfigMapping(prefix = "quarkus.cassandra")
+@ConfigRoot(phase = ConfigPhase.BUILD_TIME)
+public interface CassandraClientBuildTimeConfig {
/**
* Whether or not an health check is published in case the smallrye-health extension is present.
*/
- @ConfigItem(name = "health.enabled", defaultValue = "true")
- public boolean healthEnabled;
+ @WithName("health.enabled")
+ @WithDefault("true")
+ boolean healthEnabled();
/**
* Whether or not metrics for the Cassandra driver should be published.
@@ -70,8 +74,9 @@ public class CassandraClientBuildTimeConfig {
* href="https://docs.datastax.com/en/developer/java-driver/latest/manual/core/metrics/#configuration">
* Metrics configuration in the Java driver manual.
*/
- @ConfigItem(name = "metrics.enabled", defaultValue = "false")
- public boolean metricsEnabled;
+ @WithName("metrics.enabled")
+ @WithDefault("false")
+ boolean metricsEnabled();
/**
* The name of the algorithm used to compress protocol frames.
@@ -87,18 +92,16 @@ public class CassandraClientBuildTimeConfig {
* mode.
*
*/
- @ConfigItem(name = "protocol.compression", defaultValue = "none")
- public String protocolCompression;
+ @WithName("protocol.compression")
+ @WithDefault("none")
+ String protocolCompression();
/** The classes of {@link RequestTracker} implementations to register. */
- @ConfigItem(name = "request-trackers")
- public Optional> requestTrackers;
+ Optional> requestTrackers();
/** The classes of {@link NodeStateListener} implementations to register. */
- @ConfigItem(name = "node-state-listeners")
- public Optional> nodeStateListeners;
+ Optional> nodeStateListeners();
/** The classes of {@link SchemaChangeListener} implementations to register. */
- @ConfigItem(name = "schema-change-listeners")
- public Optional> schemaChangeListeners;
+ Optional> schemaChangeListeners();
}
diff --git a/deployment/src/main/java/com/datastax/oss/quarkus/deployment/internal/CassandraClientProcessor.java b/deployment/src/main/java/com/datastax/oss/quarkus/deployment/internal/CassandraClientProcessor.java
index 5e4f0a56..786d410c 100644
--- a/deployment/src/main/java/com/datastax/oss/quarkus/deployment/internal/CassandraClientProcessor.java
+++ b/deployment/src/main/java/com/datastax/oss/quarkus/deployment/internal/CassandraClientProcessor.java
@@ -109,7 +109,7 @@ List registerReactiveForReflection() {
@BuildStep
List registerLz4ForReflection(
CassandraClientBuildTimeConfig buildTimeConfig) {
- if (buildTimeConfig.protocolCompression.equalsIgnoreCase("lz4")) {
+ if (buildTimeConfig.protocolCompression().equalsIgnoreCase("lz4")) {
return Collections.singletonList(
ReflectiveClassBuildItem.builder(
"net.jpountz.lz4.LZ4Compressor",
@@ -135,7 +135,7 @@ List registerRequestTrackersForReflection(
CassandraClientRecorder recorder,
BeanContainerBuildItem beanContainer) {
return buildTimeConfig
- .requestTrackers
+ .requestTrackers()
.map(
classes ->
classes.stream()
@@ -155,7 +155,7 @@ List registerNodeStateListenersForReflection(
CassandraClientRecorder recorder,
BeanContainerBuildItem beanContainer) {
return buildTimeConfig
- .nodeStateListeners
+ .nodeStateListeners()
.map(
classes ->
classes.stream()
@@ -175,7 +175,7 @@ List registerSchemaChangeListenersForReflection(
CassandraClientRecorder recorder,
BeanContainerBuildItem beanContainer) {
return buildTimeConfig
- .schemaChangeListeners
+ .schemaChangeListeners()
.map(
classes ->
classes.stream()
@@ -199,7 +199,7 @@ List registerMetricsFactoriesForReflection(
CassandraClientBuildTimeConfig buildTimeConfig,
Optional metricsCapability) {
- if (buildTimeConfig.metricsEnabled && metricsCapability.isPresent()) {
+ if (buildTimeConfig.metricsEnabled() && metricsCapability.isPresent()) {
Stream clzStream = Stream.empty();
MetricsCapabilityBuildItem metricsCapabilityItem = metricsCapability.get();
@@ -249,7 +249,7 @@ void configureMetrics(
CassandraClientBuildTimeConfig buildTimeConfig,
Optional metricsCapability,
BeanContainerBuildItem beanContainer) {
- if (buildTimeConfig.metricsEnabled) {
+ if (buildTimeConfig.metricsEnabled()) {
if (metricsCapability.isPresent()) {
MetricsCapabilityBuildItem metricsCapabilityItem = metricsCapability.get();
if (metricsCapabilityItem.metricsSupported(MetricsFactory.MICROMETER)) {
@@ -312,7 +312,7 @@ void configureCompression(
CassandraClientRecorder recorder,
CassandraClientBuildTimeConfig buildTimeConfig,
BeanContainerBuildItem beanContainer) {
- recorder.configureCompression(buildTimeConfig.protocolCompression);
+ recorder.configureCompression(buildTimeConfig.protocolCompression());
}
@BuildStep
@@ -339,7 +339,7 @@ CassandraClientBuildItem cassandraClient(
HealthBuildItem addHealthCheck(CassandraClientBuildTimeConfig buildTimeConfig) {
return new HealthBuildItem(
"com.datastax.oss.quarkus.runtime.internal.health.CassandraAsyncHealthCheck",
- buildTimeConfig.healthEnabled);
+ buildTimeConfig.healthEnabled());
}
/**
diff --git a/deployment/src/test/java/com/datastax/oss/quarkus/deployment/internal/metrics/CassandraMetricsDisabledTest.java b/deployment/src/test/java/com/datastax/oss/quarkus/deployment/internal/metrics/CassandraMetricsDisabledTest.java
index 9be1128c..6df7569f 100644
--- a/deployment/src/test/java/com/datastax/oss/quarkus/deployment/internal/metrics/CassandraMetricsDisabledTest.java
+++ b/deployment/src/test/java/com/datastax/oss/quarkus/deployment/internal/metrics/CassandraMetricsDisabledTest.java
@@ -24,8 +24,8 @@
import com.datastax.oss.quarkus.test.CassandraTestResource;
import io.micrometer.core.instrument.Meter.Id;
import io.micrometer.core.instrument.MeterRegistry;
-import io.quarkus.bootstrap.model.AppArtifact;
import io.quarkus.builder.Version;
+import io.quarkus.maven.dependency.Dependency;
import io.quarkus.test.QuarkusUnitTest;
import io.quarkus.test.common.QuarkusTestResource;
import jakarta.inject.Inject;
@@ -53,8 +53,8 @@ public class CassandraMetricsDisabledTest {
// Micrometer is present...
.setForcedDependencies(
Arrays.asList(
- new AppArtifact("io.quarkus", "quarkus-micrometer", Version.getVersion()),
- new AppArtifact("io.quarkus", "quarkus-resteasy", Version.getVersion())))
+ Dependency.of("io.quarkus", "quarkus-micrometer", Version.getVersion()),
+ Dependency.of("io.quarkus", "quarkus-resteasy", Version.getVersion())))
// but Cassandra metrics are disabled
.overrideConfigKey("quarkus.cassandra.metrics.enabled", "false");
@@ -78,6 +78,6 @@ public void should_not_enable_metrics_when_metrics_disabled_by_configuration() {
}
private boolean filterAllCassandraMetrics(Id id) {
- return id.getName().startsWith(config.cassandraClientMetricsConfig.prefix);
+ return id.getName().startsWith(config.cassandraClientMetricsConfig().prefix());
}
}
diff --git a/deployment/src/test/java/com/datastax/oss/quarkus/deployment/internal/metrics/CassandraMetricsMicroProfileTest.java b/deployment/src/test/java/com/datastax/oss/quarkus/deployment/internal/metrics/CassandraMetricsMicroProfileTest.java
index e2452986..75487271 100644
--- a/deployment/src/test/java/com/datastax/oss/quarkus/deployment/internal/metrics/CassandraMetricsMicroProfileTest.java
+++ b/deployment/src/test/java/com/datastax/oss/quarkus/deployment/internal/metrics/CassandraMetricsMicroProfileTest.java
@@ -21,8 +21,8 @@
import com.datastax.oss.quarkus.runtime.api.config.CassandraClientConfig;
import com.datastax.oss.quarkus.runtime.api.session.QuarkusCqlSession;
import com.datastax.oss.quarkus.test.CassandraTestResource;
-import io.quarkus.bootstrap.model.AppArtifact;
import io.quarkus.builder.Version;
+import io.quarkus.maven.dependency.Dependency;
import io.quarkus.test.QuarkusUnitTest;
import io.quarkus.test.common.QuarkusTestResource;
import jakarta.inject.Inject;
@@ -58,7 +58,7 @@ public class CassandraMetricsMicroProfileTest {
() -> ShrinkWrap.create(JavaArchive.class).addClasses(CassandraTestResource.class))
.setForcedDependencies(
Collections.singletonList(
- new AppArtifact("io.quarkus", "quarkus-smallrye-metrics", Version.getVersion())))
+ Dependency.of("io.quarkus", "quarkus-smallrye-metrics", Version.getVersion())))
.overrideConfigKey("quarkus.cassandra.metrics.enabled", "true");
@Test
@@ -102,6 +102,6 @@ public void should_expose_correct_number_of_metrics() {
}
private boolean filterAllCassandraMetrics(MetricID id) {
- return id.getName().startsWith(config.cassandraClientMetricsConfig.prefix);
+ return id.getName().startsWith(config.cassandraClientMetricsConfig().prefix());
}
}
diff --git a/deployment/src/test/java/com/datastax/oss/quarkus/deployment/internal/metrics/CassandraMetricsMicrometerTest.java b/deployment/src/test/java/com/datastax/oss/quarkus/deployment/internal/metrics/CassandraMetricsMicrometerTest.java
index 1034233c..5cd4fde9 100644
--- a/deployment/src/test/java/com/datastax/oss/quarkus/deployment/internal/metrics/CassandraMetricsMicrometerTest.java
+++ b/deployment/src/test/java/com/datastax/oss/quarkus/deployment/internal/metrics/CassandraMetricsMicrometerTest.java
@@ -26,8 +26,8 @@
import io.micrometer.core.instrument.Meter.Id;
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.Timer;
-import io.quarkus.bootstrap.model.AppArtifact;
import io.quarkus.builder.Version;
+import io.quarkus.maven.dependency.Dependency;
import io.quarkus.test.QuarkusUnitTest;
import io.quarkus.test.common.QuarkusTestResource;
import jakarta.inject.Inject;
@@ -53,8 +53,8 @@ public class CassandraMetricsMicrometerTest {
() -> ShrinkWrap.create(JavaArchive.class).addClasses(CassandraTestResource.class))
.setForcedDependencies(
Arrays.asList(
- new AppArtifact("io.quarkus", "quarkus-micrometer", Version.getVersion()),
- new AppArtifact("io.quarkus", "quarkus-resteasy", Version.getVersion())))
+ Dependency.of("io.quarkus", "quarkus-micrometer", Version.getVersion()),
+ Dependency.of("io.quarkus", "quarkus-resteasy", Version.getVersion())))
.overrideConfigKey("quarkus.cassandra.metrics.enabled", "true")
// test a different prefix
.overrideConfigKey("quarkus.cassandra.metrics.prefix", "custom.prefix");
@@ -97,7 +97,7 @@ public void should_expose_correct_number_of_metrics() {
}
private boolean filterAllCassandraMetrics(Id id) {
- assertThat(config.cassandraClientMetricsConfig.prefix).isEqualTo("custom.prefix");
- return id.getName().startsWith(config.cassandraClientMetricsConfig.prefix);
+ assertThat(config.cassandraClientMetricsConfig().prefix()).isEqualTo("custom.prefix");
+ return id.getName().startsWith(config.cassandraClientMetricsConfig().prefix());
}
}
diff --git a/integration-tests/dse/pom.xml b/integration-tests/dse/pom.xml
index 43ae44ee..f8987207 100644
--- a/integration-tests/dse/pom.xml
+++ b/integration-tests/dse/pom.xml
@@ -141,8 +141,8 @@
-
- jar
+
+ false
true
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 85ed698b..a3f78f0a 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -116,7 +116,7 @@
- native
+ true
true
native
diff --git a/pom.xml b/pom.xml
index 7d50b906..574e111d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,7 +33,7 @@
Note: when upgrading the Quarkus version or the DataStax Java driver version, make sure that you
upgrade them in the quickstart module too.
-->
- 3.1.0.Final
+ 3.25.0
4.15.0
3.23.1
11
@@ -56,7 +56,7 @@
com.spotify.fmt
fmt-maven-plugin
- 2.19
+ 2.27
au.com.acegi
@@ -76,7 +76,7 @@
org.jacoco
jacoco-maven-plugin
- 0.8.8
+ 0.8.13
org.apache.maven.plugins
diff --git a/quickstart/pom.xml b/quickstart/pom.xml
index 082de3a0..d131f12f 100644
--- a/quickstart/pom.xml
+++ b/quickstart/pom.xml
@@ -27,7 +27,7 @@
2020
11
- 3.1.0.Final
+ 3.25.0
4.15.0
3.23.1
UTF-8
@@ -76,11 +76,11 @@
io.quarkus
- quarkus-resteasy-reactive
+ quarkus-rest
io.quarkus
- quarkus-resteasy-reactive-jackson
+ quarkus-rest-jackson
io.quarkus
@@ -116,7 +116,7 @@
com.spotify.fmt
fmt-maven-plugin
- 2.19
+ 2.27
@@ -211,7 +211,7 @@
- native
+ true
true
native
diff --git a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientAuthConfig.java b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientAuthConfig.java
index 8238b01c..89340f63 100644
--- a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientAuthConfig.java
+++ b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientAuthConfig.java
@@ -16,24 +16,21 @@
package com.datastax.oss.quarkus.runtime.api.config;
import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
import java.util.Optional;
/** This class holds runtime configuration items related to authentication. */
@ConfigGroup
-public class CassandraClientAuthConfig {
+public interface CassandraClientAuthConfig {
/**
* The username used to connect to Apache Cassandra(R). If a username and a password are both
* provided, plain text authentication will be automatically enabled.
*/
- @ConfigItem(name = "username")
- public Optional username;
+ Optional username();
/**
* The auth_provider password used to connect to Apache Cassandra(R). If a username and a password
* are both provided, plain text authentication will be automatically enabled.
*/
- @ConfigItem(name = "password")
- public Optional password;
+ Optional password();
}
diff --git a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientCloudConfig.java b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientCloudConfig.java
index 4e730c31..0bcc556a 100644
--- a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientCloudConfig.java
+++ b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientCloudConfig.java
@@ -16,13 +16,12 @@
package com.datastax.oss.quarkus.runtime.api.config;
import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
import java.nio.file.Path;
import java.util.Optional;
/** This class holds runtime configuration items related to DataStax Astra cloud clusters. */
@ConfigGroup
-public class CassandraClientCloudConfig {
+public interface CassandraClientCloudConfig {
/**
* The path to a cloud secure bundle used to connect to DataStax Astra.
@@ -30,6 +29,5 @@ public class CassandraClientCloudConfig {
* This setting is not required to connect to connect to Apache Cassandra (R) or DataStax
* Enterprise (DSE).
*/
- @ConfigItem(name = "secure-connect-bundle")
- public Optional secureConnectBundle;
+ Optional secureConnectBundle();
}
diff --git a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientConfig.java b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientConfig.java
index ec3c4c05..d99c16e4 100644
--- a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientConfig.java
+++ b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientConfig.java
@@ -15,9 +15,11 @@
*/
package com.datastax.oss.quarkus.runtime.api.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.WithName;
+import io.smallrye.config.WithParentName;
/**
* This class holds runtime configuration items for the Cassandra Quarkus extension.
@@ -25,36 +27,34 @@
* Settings specified in application.properties under the {@code quarkus.cassandra} prefix will
* be mapped to fields in this class and its child configuration classes.
*/
-@ConfigRoot(name = CassandraClientConfig.CONFIG_NAME, phase = ConfigPhase.RUN_TIME)
-public class CassandraClientConfig {
-
- public static final String CONFIG_NAME = "cassandra";
-
+@ConfigMapping(prefix = "quarkus.cassandra")
+@ConfigRoot(phase = ConfigPhase.RUN_TIME)
+public interface CassandraClientConfig {
/** The client connection configuration settings. */
- @ConfigItem(name = ConfigItem.PARENT)
- public CassandraClientConnectionConfig cassandraClientConnectionConfig;
+ @WithParentName
+ CassandraClientConnectionConfig cassandraClientConnectionConfig();
/** The metrics settings. */
- @ConfigItem(name = "metrics")
- public CassandraClientMetricsConfig cassandraClientMetricsConfig;
+ @WithName("metrics")
+ CassandraClientMetricsConfig cassandraClientMetricsConfig();
/** The cloud (DataStax Astra) configuration settings. */
- @ConfigItem(name = "cloud")
- public CassandraClientCloudConfig cassandraClientCloudConfig;
+ @WithName("cloud")
+ CassandraClientCloudConfig cassandraClientCloudConfig();
/** The session initialization settings. */
- @ConfigItem(name = "init")
- public CassandraClientInitConfig cassandraClientInitConfig;
+ @WithName("init")
+ CassandraClientInitConfig cassandraClientInitConfig();
/** The authentication settings. */
- @ConfigItem(name = "auth")
- public CassandraClientAuthConfig cassandraClientAuthConfig;
+ @WithName("auth")
+ CassandraClientAuthConfig cassandraClientAuthConfig();
/** The request settings. */
- @ConfigItem(name = "request")
- public CassandraClientRequestConfig cassandraClientRequestConfig;
+ @WithName("request")
+ CassandraClientRequestConfig cassandraClientRequestConfig();
/** The DSE Graph settings. */
- @ConfigItem(name = "graph")
- public CassandraClientGraphConfig cassandraClientGraphConfig;
+ @WithName("graph")
+ CassandraClientGraphConfig cassandraClientGraphConfig();
}
diff --git a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientConnectionConfig.java b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientConnectionConfig.java
index 8410fb21..ec242eed 100644
--- a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientConnectionConfig.java
+++ b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientConnectionConfig.java
@@ -16,13 +16,12 @@
package com.datastax.oss.quarkus.runtime.api.config;
import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
import java.util.List;
import java.util.Optional;
/** This class holds runtime configuration items related to connection settings. */
@ConfigGroup
-public class CassandraClientConnectionConfig {
+public interface CassandraClientConnectionConfig {
/**
* Contact-points used to connect to Apache Cassandra (R) or DataStax Enterprise (DSE).
@@ -31,16 +30,14 @@ public class CassandraClientConnectionConfig {
*
*
This setting is not required to connect to DataStax Astra.
*/
- @ConfigItem(name = "contact-points")
- public Optional> contactPoints;
+ Optional> contactPoints();
/**
* Local datacenter used to connect to Apache Cassandra (R) or DataStax Enterprise (DSE).
*
* This setting is not required to connect to DataStax Astra.
*/
- @ConfigItem(name = "local-datacenter")
- public Optional localDatacenter;
+ Optional localDatacenter();
/**
* The name of the keyspace that the session should initially be connected to.
@@ -57,5 +54,5 @@ public class CassandraClientConnectionConfig {
* either qualify table names in your queries, or use the per-query keyspace feature available in
* Cassandra 4 and above.
*/
- public Optional keyspace;
+ Optional keyspace();
}
diff --git a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientGraphConfig.java b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientGraphConfig.java
index a42509b4..6b945a21 100644
--- a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientGraphConfig.java
+++ b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientGraphConfig.java
@@ -17,17 +17,17 @@
import com.datastax.oss.driver.api.core.ConsistencyLevel;
import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
+import io.smallrye.config.WithName;
import java.time.Duration;
import java.util.Optional;
/** This class holds runtime configuration items related to DSE Graph settings. */
@ConfigGroup
-public class CassandraClientGraphConfig {
+public interface CassandraClientGraphConfig {
/** The name of the graph targeted by graph statements. */
- @ConfigItem(name = "name")
- public Optional graphName;
+ @WithName("name")
+ Optional graphName();
/**
* How long the driver waits for a graph request to complete.
@@ -45,8 +45,8 @@ public class CassandraClientGraphConfig {
* If this value is left unset (default) or is explicitly set to zero, no timeout will be
* applied.
*/
- @ConfigItem(name = "request.timeout")
- public Optional graphRequestTimeout;
+ @WithName("request.timeout")
+ Optional graphRequestTimeout();
/**
* The read consistency level to use for graph statements. If not specified, it defaults to {@link
@@ -56,8 +56,8 @@ public class CassandraClientGraphConfig {
* queries that will be produced by a traversal. Hence the consistency level for reads and writes
* can be set separately.
*/
- @ConfigItem(name = "read-consistency-level")
- public Optional graphReadConsistencyLevel;
+ @WithName("read-consistency-level")
+ Optional graphReadConsistencyLevel();
/**
* The write consistency level to use for graph statements. If not specified, it defaults to
@@ -67,6 +67,6 @@ public class CassandraClientGraphConfig {
* queries that will be produced by a traversal. Hence the consistency level for reads and writes
* can be set separately.
*/
- @ConfigItem(name = "write-consistency-level")
- public Optional graphWriteConsistencyLevel;
+ @WithName("write-consistency-level")
+ Optional graphWriteConsistencyLevel();
}
diff --git a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientInitConfig.java b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientInitConfig.java
index 760e155f..b7e3da5f 100644
--- a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientInitConfig.java
+++ b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientInitConfig.java
@@ -16,12 +16,12 @@
package com.datastax.oss.quarkus.runtime.api.config;
import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
+import io.smallrye.config.WithDefault;
import java.time.Duration;
/** This class holds runtime configuration items related to session initialization. */
@ConfigGroup
-public class CassandraClientInitConfig {
+public interface CassandraClientInitConfig {
/**
* Whether to eagerly initialize the Cassandra client at application startup. This includes the
@@ -40,8 +40,8 @@ public class CassandraClientInitConfig {
*
* The default is false.
*/
- @ConfigItem(name = "eager-init", defaultValue = "false")
- public boolean eagerInit;
+ @WithDefault("false")
+ boolean eagerInit();
/**
* How long to wait for the Cassandra client to initialize at application startup. Ignored when
@@ -55,8 +55,8 @@ public class CassandraClientInitConfig {
*
*
The default is 10 seconds.
*/
- @ConfigItem(name = "eager-init-timeout", defaultValue = "PT10S")
- public Duration eagerInitTimeout;
+ @WithDefault("PT10S")
+ Duration eagerInitTimeout();
/**
* Whether to log an informational message explaining how to best use eager initialization.
@@ -69,8 +69,8 @@ public class CassandraClientInitConfig {
* application threads. An informational message will be logged if this rule in infringed, unless
* this option is set to false.
*/
- @ConfigItem(name = "print-eager-init-info", defaultValue = "true")
- public boolean printEagerInitInfo;
+ @WithDefault("true")
+ boolean printEagerInitInfo();
/**
* Whether to try to reconnect if the first connection attempt fails.
@@ -83,8 +83,8 @@ public class CassandraClientInitConfig {
*
*
The default is true.
*/
- @ConfigItem(name = "reconnect-on-init", defaultValue = "true")
- public boolean reconnectOnInit;
+ @WithDefault("true")
+ boolean reconnectOnInit();
/**
* Whether to resolve contact points eagerly when initializing the session.
@@ -102,8 +102,8 @@ public class CassandraClientInitConfig {
*
*
The default is false.
*/
- @ConfigItem(name = "resolve-contact-points", defaultValue = "false")
- public boolean resolveContactPoints;
+ @WithDefault("false")
+ boolean resolveContactPoints();
/**
* Whether the DataStax Java driver should use the main Netty event loop group provided by Quarkus
@@ -128,6 +128,6 @@ public class CassandraClientInitConfig {
*
* @see Quarkus Vert.x reference guide
*/
- @ConfigItem(name = "use-quarkus-event-loop", defaultValue = "true")
- public boolean useQuarkusEventLoop;
+ @WithDefault("true")
+ boolean useQuarkusEventLoop();
}
diff --git a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientMetricsConfig.java b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientMetricsConfig.java
index df786afd..061d4f6b 100644
--- a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientMetricsConfig.java
+++ b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientMetricsConfig.java
@@ -16,13 +16,14 @@
package com.datastax.oss.quarkus.runtime.api.config;
import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
+import io.smallrye.config.WithDefault;
+import io.smallrye.config.WithName;
import java.util.List;
import java.util.Optional;
/** This class holds runtime configuration items related to metrics. */
@ConfigGroup
-public class CassandraClientMetricsConfig {
+public interface CassandraClientMetricsConfig {
/**
* The metric names specified here will be taken into account only if metrics are globally
@@ -43,15 +44,14 @@ public class CassandraClientMetricsConfig {
* href="https://docs.datastax.com/en/developer/java-driver/latest/manual/core/metrics/#configuration">
* Metrics configuration in the Java driver manual.
*/
- @ConfigItem(
- name = "session.enabled",
- defaultValue =
- "bytes-sent,"
- + "bytes-received,"
- + "connected-nodes,"
- + "cql-requests,"
- + "cql-client-timeouts")
- public Optional> enabledSessionMetrics;
+ @WithName("session.enabled")
+ @WithDefault(
+ "bytes-sent,"
+ + "bytes-received,"
+ + "connected-nodes,"
+ + "cql-requests,"
+ + "cql-client-timeouts")
+ Optional> enabledSessionMetrics();
/**
* List of node-level metric names to enable.
@@ -74,36 +74,35 @@ public class CassandraClientMetricsConfig {
* href="https://docs.datastax.com/en/developer/java-driver/latest/manual/core/metrics/#configuration">
* Metrics configuration in the Java driver manual.
*/
- @ConfigItem(
- name = "node.enabled",
- defaultValue =
- "pool.open-connections,"
- + "pool.in-flight,"
- + "bytes-sent,"
- + "bytes-received,"
- + "cql-messages,"
- + "errors.request.unsent,"
- + "errors.request.aborted,"
- + "errors.request.write-timeouts,"
- + "errors.request.read-timeouts,"
- + "errors.request.unavailables,"
- + "errors.request.others,"
- + "errors.connection.init,"
- + "errors.connection.auth,"
- + "retries.total,"
- + "retries.aborted,"
- + "retries.read-timeout,"
- + "retries.write-timeout,"
- + "retries.unavailable,"
- + "retries.other,"
- + "ignores.total,"
- + "ignores.aborted,"
- + "ignores.read-timeout,"
- + "ignores.write-timeout,"
- + "ignores.unavailable,"
- + "ignores.other,"
- + "speculative-executions")
- public Optional> enabledNodeMetrics;
+ @WithName("node.enabled")
+ @WithDefault(
+ "pool.open-connections,"
+ + "pool.in-flight,"
+ + "bytes-sent,"
+ + "bytes-received,"
+ + "cql-messages,"
+ + "errors.request.unsent,"
+ + "errors.request.aborted,"
+ + "errors.request.write-timeouts,"
+ + "errors.request.read-timeouts,"
+ + "errors.request.unavailables,"
+ + "errors.request.others,"
+ + "errors.connection.init,"
+ + "errors.connection.auth,"
+ + "retries.total,"
+ + "retries.aborted,"
+ + "retries.read-timeout,"
+ + "retries.write-timeout,"
+ + "retries.unavailable,"
+ + "retries.other,"
+ + "ignores.total,"
+ + "ignores.aborted,"
+ + "ignores.read-timeout,"
+ + "ignores.write-timeout,"
+ + "ignores.unavailable,"
+ + "ignores.other,"
+ + "speculative-executions")
+ Optional> enabledNodeMetrics();
/**
* The prefix for metric names.
@@ -120,6 +119,6 @@ public class CassandraClientMetricsConfig {
* href="https://docs.datastax.com/en/developer/java-driver/latest/manual/core/metrics/#configuration">
* Metrics configuration in the Java driver manual.
*/
- @ConfigItem(name = "prefix", defaultValue = "cassandra")
- public String prefix;
+ @WithDefault("cassandra")
+ String prefix();
}
diff --git a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientRequestConfig.java b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientRequestConfig.java
index 2a7560fd..88c067e2 100644
--- a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientRequestConfig.java
+++ b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/api/config/CassandraClientRequestConfig.java
@@ -17,14 +17,14 @@
import com.datastax.oss.driver.api.core.ConsistencyLevel;
import io.quarkus.runtime.annotations.ConfigGroup;
-import io.quarkus.runtime.annotations.ConfigItem;
+import io.smallrye.config.WithName;
import java.time.Duration;
import java.util.Optional;
import java.util.OptionalInt;
/** This class holds runtime configuration items related to connection settings. */
@ConfigGroup
-public class CassandraClientRequestConfig {
+public interface CassandraClientRequestConfig {
/**
* How long the driver waits for a request to complete. If not specified, it defaults to 2
@@ -41,28 +41,24 @@ public class CassandraClientRequestConfig {
* DDL and DML; you can then set the DML timeout much lower (down to a few milliseconds if
* needed).
*/
- @ConfigItem(name = "timeout")
- public Optional requestTimeout;
+ @WithName("timeout")
+ Optional requestTimeout();
/**
* The default consistency level to use. If not specified, it defaults to {@link
* ConsistencyLevel#LOCAL_ONE}.
*/
- @ConfigItem(name = "consistency-level")
- public Optional consistencyLevel;
+ Optional consistencyLevel();
/**
* The default serial consistency level to use. If not specified, it defaults to {@link
* ConsistencyLevel#SERIAL}.
*/
- @ConfigItem(name = "serial-consistency-level")
- public Optional serialConsistencyLevel;
+ Optional serialConsistencyLevel();
/** The default page size to use. If not specified, it defaults to 5000. */
- @ConfigItem(name = "page-size")
- public OptionalInt pageSize;
+ OptionalInt pageSize();
/** The default idempotence of a request. If not specified, it defaults to false. */
- @ConfigItem(name = "default-idempotence")
- public Optional defaultIdempotence;
+ Optional defaultIdempotence();
}
diff --git a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/internal/quarkus/CassandraClientProducer.java b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/internal/quarkus/CassandraClientProducer.java
index dd72b43e..4d6058e3 100644
--- a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/internal/quarkus/CassandraClientProducer.java
+++ b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/internal/quarkus/CassandraClientProducer.java
@@ -73,7 +73,7 @@ public CompletionStage produceQuarkusCqlSessionStage(
LOG.debug(
"Producing CompletionStage bean, metricRegistry = {}, useQuarkusEventLoop = {}",
metricRegistry,
- config.cassandraClientInitConfig.useQuarkusEventLoop);
+ config.cassandraClientInitConfig().useQuarkusEventLoop());
ProgrammaticDriverConfigLoaderBuilder configLoaderBuilder = createDriverConfigLoaderBuilder();
configureRuntimeSettings(configLoaderBuilder, config);
configureMetricsSettings(configLoaderBuilder, config);
@@ -87,7 +87,7 @@ public CompletionStage produceQuarkusCqlSessionStage(
LOG.debug("Metric registry = {}", metricRegistry);
builder.withMetricRegistry(metricRegistry);
}
- if (config.cassandraClientInitConfig.useQuarkusEventLoop) {
+ if (config.cassandraClientInitConfig().useQuarkusEventLoop()) {
if (mainEventLoop instanceof MultithreadEventExecutorGroup) {
// Check event loop group size. The default in Quarkus is 2 * cores, which is usually fine.
// https://quarkus.io/guides/vertx-reference#quarkus-vertx-core_quarkus.vertx.event-loops-pool-size
@@ -117,9 +117,9 @@ public QuarkusCqlSession produceQuarkusCqlSession(
throws ExecutionException, InterruptedException {
LOG.debug(
"Producing QuarkusCqlSession bean, eagerSessionInit = {}",
- config.cassandraClientInitConfig.eagerInit);
- if (!config.cassandraClientInitConfig.eagerInit
- && config.cassandraClientInitConfig.printEagerInitInfo) {
+ config.cassandraClientInitConfig().eagerInit());
+ if (!config.cassandraClientInitConfig().eagerInit()
+ && config.cassandraClientInitConfig().printEagerInitInfo()) {
LOG.info(
"Injecting QuarkusCqlSession and setting quarkus.cassandra.init.eager-init = false "
+ "may cause problems if the lazy initialization process "
@@ -211,9 +211,15 @@ private void configureMetricsSettings(
ProgrammaticDriverConfigLoaderBuilder configLoaderBuilder, CassandraClientConfig config) {
if (metricRegistry != null && metricsFactoryClass != null) {
List enabledNodeMetrics =
- config.cassandraClientMetricsConfig.enabledNodeMetrics.orElse(Collections.emptyList());
+ config
+ .cassandraClientMetricsConfig()
+ .enabledNodeMetrics()
+ .orElse(Collections.emptyList());
List enabledSessionMetrics =
- config.cassandraClientMetricsConfig.enabledSessionMetrics.orElse(Collections.emptyList());
+ config
+ .cassandraClientMetricsConfig()
+ .enabledSessionMetrics()
+ .orElse(Collections.emptyList());
if (checkMetricsPresent(enabledNodeMetrics, enabledSessionMetrics)) {
configLoaderBuilder.withString(
DefaultDriverOption.METRICS_FACTORY_CLASS, metricsFactoryClass);
@@ -222,7 +228,7 @@ private void configureMetricsSettings(
TaggingMetricIdGenerator.class.getName());
configLoaderBuilder.withString(
DefaultDriverOption.METRICS_ID_GENERATOR_PREFIX,
- config.cassandraClientMetricsConfig.prefix);
+ config.cassandraClientMetricsConfig().prefix());
configLoaderBuilder.withStringList(
DefaultDriverOption.METRICS_NODE_ENABLED, enabledNodeMetrics);
configLoaderBuilder.withStringList(
@@ -246,56 +252,93 @@ private boolean checkMetricsPresent(
private void configureRuntimeSettings(
ProgrammaticDriverConfigLoaderBuilder configLoaderBuilder, CassandraClientConfig config) {
// connection settings
- config.cassandraClientConnectionConfig.contactPoints.ifPresent(
- v -> configLoaderBuilder.withStringList(DefaultDriverOption.CONTACT_POINTS, v));
- config.cassandraClientConnectionConfig.localDatacenter.ifPresent(
- v ->
- configLoaderBuilder.withString(DefaultDriverOption.LOAD_BALANCING_LOCAL_DATACENTER, v));
- config.cassandraClientConnectionConfig.keyspace.ifPresent(
- v -> configLoaderBuilder.withString(DefaultDriverOption.SESSION_KEYSPACE, v));
+ config
+ .cassandraClientConnectionConfig()
+ .contactPoints()
+ .ifPresent(v -> configLoaderBuilder.withStringList(DefaultDriverOption.CONTACT_POINTS, v));
+ config
+ .cassandraClientConnectionConfig()
+ .localDatacenter()
+ .ifPresent(
+ v ->
+ configLoaderBuilder.withString(
+ DefaultDriverOption.LOAD_BALANCING_LOCAL_DATACENTER, v));
+ config
+ .cassandraClientConnectionConfig()
+ .keyspace()
+ .ifPresent(v -> configLoaderBuilder.withString(DefaultDriverOption.SESSION_KEYSPACE, v));
// cloud settings
- config.cassandraClientCloudConfig.secureConnectBundle.ifPresent(
- v ->
- configLoaderBuilder.withString(
- DefaultDriverOption.CLOUD_SECURE_CONNECT_BUNDLE, v.toAbsolutePath().toString()));
+ config
+ .cassandraClientCloudConfig()
+ .secureConnectBundle()
+ .ifPresent(
+ v ->
+ configLoaderBuilder.withString(
+ DefaultDriverOption.CLOUD_SECURE_CONNECT_BUNDLE,
+ v.toAbsolutePath().toString()));
// init settings
configLoaderBuilder.withBoolean(
DefaultDriverOption.RESOLVE_CONTACT_POINTS,
- config.cassandraClientInitConfig.resolveContactPoints);
+ config.cassandraClientInitConfig().resolveContactPoints());
configLoaderBuilder.withBoolean(
- DefaultDriverOption.RECONNECT_ON_INIT, config.cassandraClientInitConfig.reconnectOnInit);
+ DefaultDriverOption.RECONNECT_ON_INIT,
+ config.cassandraClientInitConfig().reconnectOnInit());
// request settings
- config.cassandraClientRequestConfig.requestTimeout.ifPresent(
- v -> configLoaderBuilder.withDuration(DefaultDriverOption.REQUEST_TIMEOUT, v));
- config.cassandraClientRequestConfig.consistencyLevel.ifPresent(
- v -> configLoaderBuilder.withString(DefaultDriverOption.REQUEST_CONSISTENCY, v));
- config.cassandraClientRequestConfig.serialConsistencyLevel.ifPresent(
- v -> configLoaderBuilder.withString(DefaultDriverOption.REQUEST_SERIAL_CONSISTENCY, v));
- config.cassandraClientRequestConfig.pageSize.ifPresent(
- v -> configLoaderBuilder.withInt(DefaultDriverOption.REQUEST_PAGE_SIZE, v));
- config.cassandraClientRequestConfig.defaultIdempotence.ifPresent(
- v -> configLoaderBuilder.withBoolean(DefaultDriverOption.REQUEST_DEFAULT_IDEMPOTENCE, v));
+ config
+ .cassandraClientRequestConfig()
+ .requestTimeout()
+ .ifPresent(v -> configLoaderBuilder.withDuration(DefaultDriverOption.REQUEST_TIMEOUT, v));
+ config
+ .cassandraClientRequestConfig()
+ .consistencyLevel()
+ .ifPresent(v -> configLoaderBuilder.withString(DefaultDriverOption.REQUEST_CONSISTENCY, v));
+ config
+ .cassandraClientRequestConfig()
+ .serialConsistencyLevel()
+ .ifPresent(
+ v -> configLoaderBuilder.withString(DefaultDriverOption.REQUEST_SERIAL_CONSISTENCY, v));
+ config
+ .cassandraClientRequestConfig()
+ .pageSize()
+ .ifPresent(v -> configLoaderBuilder.withInt(DefaultDriverOption.REQUEST_PAGE_SIZE, v));
+ config
+ .cassandraClientRequestConfig()
+ .defaultIdempotence()
+ .ifPresent(
+ v ->
+ configLoaderBuilder.withBoolean(
+ DefaultDriverOption.REQUEST_DEFAULT_IDEMPOTENCE, v));
// auth settings
- if (config.cassandraClientAuthConfig.username.isPresent()
- && config.cassandraClientAuthConfig.password.isPresent()) {
+ if (config.cassandraClientAuthConfig().username().isPresent()
+ && config.cassandraClientAuthConfig().password().isPresent()) {
configLoaderBuilder
.withClass(DefaultDriverOption.AUTH_PROVIDER_CLASS, PlainTextAuthProvider.class)
.withString(
DefaultDriverOption.AUTH_PROVIDER_USER_NAME,
- config.cassandraClientAuthConfig.username.get())
+ config.cassandraClientAuthConfig().username().get())
.withString(
DefaultDriverOption.AUTH_PROVIDER_PASSWORD,
- config.cassandraClientAuthConfig.password.get());
+ config.cassandraClientAuthConfig().password().get());
}
// graph settings
- config.cassandraClientGraphConfig.graphName.ifPresent(
- v -> configLoaderBuilder.withString(DseDriverOption.GRAPH_NAME, v));
- config.cassandraClientGraphConfig.graphReadConsistencyLevel.ifPresent(
- v -> configLoaderBuilder.withString(DseDriverOption.GRAPH_READ_CONSISTENCY_LEVEL, v));
- config.cassandraClientGraphConfig.graphWriteConsistencyLevel.ifPresent(
- v -> configLoaderBuilder.withString(DseDriverOption.GRAPH_WRITE_CONSISTENCY_LEVEL, v));
- config.cassandraClientGraphConfig.graphRequestTimeout.ifPresent(
- v -> configLoaderBuilder.withDuration(DseDriverOption.GRAPH_TIMEOUT, v));
+ config
+ .cassandraClientGraphConfig()
+ .graphName()
+ .ifPresent(v -> configLoaderBuilder.withString(DseDriverOption.GRAPH_NAME, v));
+ config
+ .cassandraClientGraphConfig()
+ .graphReadConsistencyLevel()
+ .ifPresent(
+ v -> configLoaderBuilder.withString(DseDriverOption.GRAPH_READ_CONSISTENCY_LEVEL, v));
+ config
+ .cassandraClientGraphConfig()
+ .graphWriteConsistencyLevel()
+ .ifPresent(
+ v -> configLoaderBuilder.withString(DseDriverOption.GRAPH_WRITE_CONSISTENCY_LEVEL, v));
+ config
+ .cassandraClientGraphConfig()
+ .graphRequestTimeout()
+ .ifPresent(v -> configLoaderBuilder.withDuration(DseDriverOption.GRAPH_TIMEOUT, v));
}
public boolean isProduced() {
diff --git a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/internal/quarkus/CassandraClientRecorder.java b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/internal/quarkus/CassandraClientRecorder.java
index a54dd7c6..9f46a80d 100644
--- a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/internal/quarkus/CassandraClientRecorder.java
+++ b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/internal/quarkus/CassandraClientRecorder.java
@@ -104,7 +104,9 @@ public void configureMicroProfileMetrics() {
}
private Object locateMicroProfileVendorMetricRegistry()
- throws ClassNotFoundException, IllegalAccessException, InvocationTargetException,
+ throws ClassNotFoundException,
+ IllegalAccessException,
+ InvocationTargetException,
NoSuchMethodException {
Class> metricRegistriesClass = Class.forName("io.smallrye.metrics.MetricRegistries");
Object metricRegistries = Arc.container().instance(metricRegistriesClass).get();
diff --git a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/internal/quarkus/CassandraClientStarter.java b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/internal/quarkus/CassandraClientStarter.java
index 74563490..3ebce569 100644
--- a/runtime/src/main/java/com/datastax/oss/quarkus/runtime/internal/quarkus/CassandraClientStarter.java
+++ b/runtime/src/main/java/com/datastax/oss/quarkus/runtime/internal/quarkus/CassandraClientStarter.java
@@ -59,14 +59,14 @@ public void onStartup(@Observes StartupEvent event)
if (LOG.isDebugEnabled()) {
LOG.debug(
"CassandraClientStarter.startup, eager = {}, sessions = {}, mappers = {}, daos = {}",
- config.cassandraClientInitConfig.eagerInit,
+ config.cassandraClientInitConfig().eagerInit(),
sessions.stream().count(),
mappers.stream().count(),
daos.stream().count());
}
- if (config.cassandraClientInitConfig.eagerInit) {
+ if (config.cassandraClientInitConfig().eagerInit()) {
LOG.info("Eagerly initializing Quarkus Cassandra client.");
- Duration timeout = config.cassandraClientInitConfig.eagerInitTimeout;
+ Duration timeout = config.cassandraClientInitConfig().eagerInitTimeout();
ExecutorService executor = Executors.newSingleThreadExecutor();
Future initFuture =
executor.submit(