From c3ad7fb5ec2c850271c5e6f67b669c468ff04946 Mon Sep 17 00:00:00 2001 From: Carles Arnal Date: Thu, 7 Nov 2024 15:05:15 +0100 Subject: [PATCH 1/6] Upgrade quarkus to 3 15 --- .../io/apicurio/registry/services/RegistryConfigSource.java | 4 ++-- pom.xml | 2 +- .../exportConfluent/src/main/resources/application.properties | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/io/apicurio/registry/services/RegistryConfigSource.java b/app/src/main/java/io/apicurio/registry/services/RegistryConfigSource.java index 3b53029e17..09469a6b98 100644 --- a/app/src/main/java/io/apicurio/registry/services/RegistryConfigSource.java +++ b/app/src/main/java/io/apicurio/registry/services/RegistryConfigSource.java @@ -1,6 +1,6 @@ package io.apicurio.registry.services; -import io.quarkus.runtime.configuration.ProfileManager; +import io.quarkus.runtime.LaunchMode; import org.eclipse.microprofile.config.spi.ConfigSource; import java.util.HashMap; @@ -21,7 +21,7 @@ public synchronized Map getProperties() { properties = new HashMap<>(); String prefix = System.getenv("REGISTRY_PROPERTIES_PREFIX"); if (prefix != null) { - String profile = ProfileManager.getLaunchMode().getProfileKey(); + String profile = LaunchMode.current().getProfileKey(); String profilePrefix = "%" + profile + "."; Map envMap = System.getenv(); for (Map.Entry entry : envMap.entrySet()) { diff --git a/pom.xml b/pom.xml index 2395c5cf07..3ecaae87a4 100644 --- a/pom.xml +++ b/pom.xml @@ -144,7 +144,7 @@ WARNING: The following group of dependencies has to be aligned with the corresponding Quarkus version. See notes for each entry. --> - 3.11.1 + 3.15.1 6.7.1 diff --git a/utils/exportConfluent/src/main/resources/application.properties b/utils/exportConfluent/src/main/resources/application.properties index 8236c82e61..d47f78b302 100644 --- a/utils/exportConfluent/src/main/resources/application.properties +++ b/utils/exportConfluent/src/main/resources/application.properties @@ -1,4 +1,4 @@ quarkus.package.main-class=ConfluentExport quarkus.log.level=WARN -quarkus.package.jar.type=uber-jar \ No newline at end of file +quarkus.package.type=uber-jar \ No newline at end of file From 541f7b6ec3e4b638ad8b07af835465be6662bc89 Mon Sep 17 00:00:00 2001 From: Carles Arnal Date: Thu, 7 Nov 2024 15:27:37 +0100 Subject: [PATCH 2/6] Align operator sdk version with quarkus --- .../partials/getting-started/ref-registry-all-configs.adoc | 5 +++++ .../apicurio/registry/operator/api/v1/status/Conditions.java | 3 +-- pom.xml | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/modules/ROOT/partials/getting-started/ref-registry-all-configs.adoc b/docs/modules/ROOT/partials/getting-started/ref-registry-all-configs.adoc index 82679453f9..f577ec0606 100644 --- a/docs/modules/ROOT/partials/getting-started/ref-registry-all-configs.adoc +++ b/docs/modules/ROOT/partials/getting-started/ref-registry-all-configs.adoc @@ -709,6 +709,11 @@ The following {registry} configuration options are available for each component | | |Kafka sql storage bootstrap servers +|`apicurio.kafkasql.consumer.group-prefix` +|`string` +|`apicurio-` +| +|Kafka sql storage prefix for consumer group name |`apicurio.kafkasql.consumer.poll.timeout` |`integer` |`5000` diff --git a/operator/model/src/main/java/io/apicurio/registry/operator/api/v1/status/Conditions.java b/operator/model/src/main/java/io/apicurio/registry/operator/api/v1/status/Conditions.java index 14b413a078..542ee82308 100644 --- a/operator/model/src/main/java/io/apicurio/registry/operator/api/v1/status/Conditions.java +++ b/operator/model/src/main/java/io/apicurio/registry/operator/api/v1/status/Conditions.java @@ -1,7 +1,6 @@ package io.apicurio.registry.operator.api.v1.status; import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonFormat.Shape; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonProperty; @@ -39,7 +38,7 @@ public class Conditions implements KubernetesResource { @Required() @JsonPropertyDescription("lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.") @JsonSetter(nulls = Nulls.SKIP) - @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss'Z'", timezone = "UTC") + @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss'Z'", timezone = "UTC") @SchemaFrom(type = String.class) private Instant lastTransitionTime; diff --git a/pom.xml b/pom.xml index 3ecaae87a4..349157a0d3 100644 --- a/pom.xml +++ b/pom.xml @@ -147,8 +147,8 @@ 3.15.1 - 6.7.1 - 4.9.6 + 6.8.4 + 4.9.5 From ffa419030901bee3cd100072a3490253bd62e55f Mon Sep 17 00:00:00 2001 From: Carles Arnal Date: Wed, 13 Nov 2024 12:36:34 +0100 Subject: [PATCH 3/6] Remove jitpack repository to fix jackson-coreutils --- examples/confluent-serdes/pom.xml | 4 ---- pom.xml | 9 --------- 2 files changed, 13 deletions(-) diff --git a/examples/confluent-serdes/pom.xml b/examples/confluent-serdes/pom.xml index 691533c125..861221a8c1 100644 --- a/examples/confluent-serdes/pom.xml +++ b/examples/confluent-serdes/pom.xml @@ -59,10 +59,6 @@ Confluent https://packages.confluent.io/maven/ - - jitpack.io - https://jitpack.io - diff --git a/pom.xml b/pom.xml index 349157a0d3..db86e0730e 100644 --- a/pom.xml +++ b/pom.xml @@ -1323,15 +1323,6 @@ - - confluent - Confluent - https://packages.confluent.io/maven/ - - - jitpack.io - https://jitpack.io - jgit-repository https://repo.eclipse.org/content/groups/releases/ From 4611b6f992053c615c7460afde49cfe44fd205e9 Mon Sep 17 00:00:00 2001 From: Carles Arnal Date: Wed, 13 Nov 2024 12:59:14 +0100 Subject: [PATCH 4/6] Add confluent repo --- pom.xml | 9 +++++++-- schema-util/json/pom.xml | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index db86e0730e..41ee70230e 100644 --- a/pom.xml +++ b/pom.xml @@ -688,8 +688,8 @@ - com.github.everit-org.json-schema - org.everit.json.schema + com.github.erosb + everit-json-schema ${org.everit.json.schema.version} @@ -1327,6 +1327,11 @@ jgit-repository https://repo.eclipse.org/content/groups/releases/ + + confluent + Confluent + https://packages.confluent.io/maven/ + diff --git a/schema-util/json/pom.xml b/schema-util/json/pom.xml index 9f0a188786..dfbaad8193 100644 --- a/schema-util/json/pom.xml +++ b/schema-util/json/pom.xml @@ -41,8 +41,8 @@ guava - com.github.everit-org.json-schema - org.everit.json.schema + com.github.erosb + everit-json-schema com.fasterxml.jackson.datatype From 02ecd4ca9d126278af131ab6a606acdb73a8cbc1 Mon Sep 17 00:00:00 2001 From: Carles Arnal Date: Wed, 13 Nov 2024 15:15:44 +0100 Subject: [PATCH 5/6] Refactor datasource to use quarkus properties instead of custom ones --- .../impl/sql/AbstractSqlRegistryStorage.java | 2 - .../impl/sql/RegistryDatasourceProducer.java | 77 +++++++------------ .../storage/impl/sql/SqlRegistryStorage.java | 2 - app/src/main/resources/application.properties | 39 +++++++++- 4 files changed, 67 insertions(+), 53 deletions(-) diff --git a/app/src/main/java/io/apicurio/registry/storage/impl/sql/AbstractSqlRegistryStorage.java b/app/src/main/java/io/apicurio/registry/storage/impl/sql/AbstractSqlRegistryStorage.java index d8ebeb7948..321c78b34c 100644 --- a/app/src/main/java/io/apicurio/registry/storage/impl/sql/AbstractSqlRegistryStorage.java +++ b/app/src/main/java/io/apicurio/registry/storage/impl/sql/AbstractSqlRegistryStorage.java @@ -134,7 +134,6 @@ import io.quarkus.security.identity.SecurityIdentity; import jakarta.enterprise.event.Event; import jakarta.inject.Inject; -import jakarta.transaction.Transactional; import jakarta.validation.ValidationException; import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; @@ -2905,7 +2904,6 @@ public GroupSearchResultsDto searchGroups(Set filters, OrderBy ord } @Override - @Transactional public ContentWrapperDto getContentByReference(ArtifactReferenceDto reference) { try { var meta = getArtifactVersionMetaData(reference.getGroupId(), reference.getArtifactId(), diff --git a/app/src/main/java/io/apicurio/registry/storage/impl/sql/RegistryDatasourceProducer.java b/app/src/main/java/io/apicurio/registry/storage/impl/sql/RegistryDatasourceProducer.java index 99a5c8ac3a..0875541602 100644 --- a/app/src/main/java/io/apicurio/registry/storage/impl/sql/RegistryDatasourceProducer.java +++ b/app/src/main/java/io/apicurio/registry/storage/impl/sql/RegistryDatasourceProducer.java @@ -1,9 +1,6 @@ package io.apicurio.registry.storage.impl.sql; import io.agroal.api.AgroalDataSource; -import io.agroal.api.configuration.AgroalConnectionFactoryConfiguration.TransactionIsolation; -import io.agroal.api.configuration.AgroalConnectionPoolConfiguration.TransactionRequirement; -import io.agroal.api.configuration.supplier.AgroalPropertiesReader; import io.apicurio.common.apps.config.Info; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; @@ -13,8 +10,6 @@ import org.slf4j.Logger; import java.sql.SQLException; -import java.util.HashMap; -import java.util.Map; public class RegistryDatasourceProducer { @@ -25,29 +20,21 @@ public class RegistryDatasourceProducer { @Info(category = "storage", description = "Application datasource database type", availableSince = "3.0.0") String databaseType; - @ConfigProperty(name = "apicurio.datasource.url", defaultValue = "jdbc:h2:mem:registry_db") - @Info(category = "storage", description = "Application datasource jdbc url", availableSince = "3.0.0") - String jdbcUrl; - - @ConfigProperty(name = "apicurio.datasource.username", defaultValue = "sa") - @Info(category = "storage", description = "Application datasource username", availableSince = "3.0.0") - String username; - - @ConfigProperty(name = "apicurio.datasource.password", defaultValue = "sa") - @Info(category = "storage", description = "Application datasource password", availableSince = "3.0.0") - String password; + @Inject + @Named("h2") + AgroalDataSource h2Datasource; - @ConfigProperty(name = "apicurio.datasource.jdbc.initial-size", defaultValue = "20") - @Info(category = "storage", description = "Application datasource pool initial size", availableSince = "3.0.0") - String initialSize; + @Inject + @Named("postgresql") + AgroalDataSource postgresqlDatasource; - @ConfigProperty(name = "apicurio.datasource.jdbc.min-size", defaultValue = "20") - @Info(category = "storage", description = "Application datasource pool minimum size", availableSince = "3.0.0") - String minSize; + @Inject + @Named("mysql") + AgroalDataSource mysqlDatasource; - @ConfigProperty(name = "apicurio.datasource.jdbc.max-size", defaultValue = "100") - @Info(category = "storage", description = "Application datasource pool maximum size", availableSince = "3.0.0") - String maxSize; + @Inject + @Named("mssql") + AgroalDataSource mssqlDatasource; @Produces @ApplicationScoped @@ -57,30 +44,24 @@ public AgroalDataSource produceDatasource() throws SQLException { final RegistryDatabaseKind databaseKind = RegistryDatabaseKind.valueOf(databaseType); - Map props = new HashMap<>(); - - props.put(AgroalPropertiesReader.MAX_SIZE, maxSize); - props.put(AgroalPropertiesReader.MIN_SIZE, minSize); - props.put(AgroalPropertiesReader.INITIAL_SIZE, initialSize); - props.put(AgroalPropertiesReader.JDBC_URL, jdbcUrl); - props.put(AgroalPropertiesReader.PRINCIPAL, username); - props.put(AgroalPropertiesReader.CREDENTIAL, password); - props.put(AgroalPropertiesReader.PROVIDER_CLASS_NAME, databaseKind.getDriverClassName()); - - /* - * We need to disable auto-commit to have proper transaction rollback, otherwise the data may be in an - * inconsistent state (e.g. partial deletes), or operations would not be rolled back on exception. - */ - props.put(AgroalPropertiesReader.AUTO_COMMIT, "false"); - props.put(AgroalPropertiesReader.TRANSACTION_ISOLATION, TransactionIsolation.READ_COMMITTED.name()); - props.put(AgroalPropertiesReader.TRANSACTION_REQUIREMENT, TransactionRequirement.WARN.name()); - props.put(AgroalPropertiesReader.FLUSH_ON_CLOSE, "true"); - - AgroalDataSource datasource = AgroalDataSource - .from(new AgroalPropertiesReader().readProperties(props).get()); - log.info("Using {} SQL storage.", databaseType); - return datasource; + switch (databaseKind) { + case h2 -> { + return h2Datasource; + } + case postgresql -> { + return postgresqlDatasource; + } + case mysql -> { + return mysqlDatasource; + } + case mssql -> { + return mssqlDatasource; + } + default -> throw new IllegalStateException( + String.format("unrecognized database type: %s", databaseKind.name())); + } + } } diff --git a/app/src/main/java/io/apicurio/registry/storage/impl/sql/SqlRegistryStorage.java b/app/src/main/java/io/apicurio/registry/storage/impl/sql/SqlRegistryStorage.java index 81db384946..818a87cd6d 100644 --- a/app/src/main/java/io/apicurio/registry/storage/impl/sql/SqlRegistryStorage.java +++ b/app/src/main/java/io/apicurio/registry/storage/impl/sql/SqlRegistryStorage.java @@ -7,7 +7,6 @@ import io.apicurio.registry.storage.RegistryStorage; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; -import jakarta.transaction.Transactional; /** * An in-memory SQL implementation of the {@link RegistryStorage} interface. @@ -40,7 +39,6 @@ public void restoreFromSnapshot(String snapshotLocation) { .bind(0, snapshotLocation).execute()); } - @Transactional public void executeSqlStatement(String sqlStatement) { handleFactory.withHandle(handle -> handle.createUpdate(sqlStatement).execute()); } diff --git a/app/src/main/resources/application.properties b/app/src/main/resources/application.properties index cab7cce220..8effeb6029 100644 --- a/app/src/main/resources/application.properties +++ b/app/src/main/resources/application.properties @@ -162,13 +162,50 @@ apicurio.import.work-dir=${java.io.tmpdir} ## SQL Storage apicurio.storage.sql.kind=h2 +apicurio.sql.init=true + apicurio.datasource.url=jdbc:h2:mem:db_${quarkus.uuid} apicurio.datasource.username=sa apicurio.datasource.password=sa apicurio.datasource.jdbc.initial-size=20 apicurio.datasource.jdbc.min-size=20 apicurio.datasource.jdbc.max-size=100 -apicurio.sql.init=true + +## H2 +quarkus.datasource.h2.db-kind=h2 +quarkus.datasource.h2.jdbc.url=${apicurio.datasource.url} +quarkus.datasource.h2.username=${apicurio.datasource.username} +quarkus.datasource.h2.password=${apicurio.datasource.password} +quarkus.datasource.h2.jdbc.initial-size=${apicurio.datasource.jdbc.initial-size} +quarkus.datasource.h2.jdbc.min-size=${apicurio.datasource.jdbc.min-size} +quarkus.datasource.h2.jdbc.max-size=${apicurio.datasource.jdbc.max-size} + +## Postgresql +quarkus.datasource.postgresql.db-kind=postgresql +quarkus.datasource.postgresql.jdbc.url=${apicurio.datasource.url} +quarkus.datasource.postgresql.username=${apicurio.datasource.username} +quarkus.datasource.postgresql.password=${apicurio.datasource.password} +quarkus.datasource.postgresql.jdbc.initial-size=${apicurio.datasource.jdbc.initial-size} +quarkus.datasource.postgresql.jdbc.min-size=${apicurio.datasource.jdbc.min-size} +quarkus.datasource.postgresql.jdbc.max-size=${apicurio.datasource.jdbc.max-size} + +## Mysql +quarkus.datasource.mysql.db-kind=mysql +quarkus.datasource.mysql.jdbc.url=${apicurio.datasource.url} +quarkus.datasource.mysql.username=${apicurio.datasource.username} +quarkus.datasource.mysql.password=${apicurio.datasource.password} +quarkus.datasource.mysql.jdbc.initial-size=${apicurio.datasource.jdbc.initial-size} +quarkus.datasource.mysql.jdbc.min-size=${apicurio.datasource.jdbc.min-size} +quarkus.datasource.mysql.jdbc.max-size=${apicurio.datasource.jdbc.max-size} + +## Mssql +quarkus.datasource.mssql.db-kind=mssql +quarkus.datasource.mssql.jdbc.url=${apicurio.datasource.url} +quarkus.datasource.mssql.username=${apicurio.datasource.username} +quarkus.datasource.mssql.password=${apicurio.datasource.password} +quarkus.datasource.mssql.jdbc.initial-size=${apicurio.datasource.jdbc.initial-size} +quarkus.datasource.mssql.jdbc.min-size=${apicurio.datasource.jdbc.min-size} +quarkus.datasource.mssql.jdbc.max-size=${apicurio.datasource.jdbc.max-size} ## Kafka SQL storage apicurio.kafkasql.bootstrap.servers=localhost:9092 From 5fc4a6c1f9d4c0d11ebb3de053916fad3df0f4b0 Mon Sep 17 00:00:00 2001 From: Carles Arnal Date: Thu, 14 Nov 2024 11:49:49 +0100 Subject: [PATCH 6/6] Disable autocommit at the db connection level and activate the required datasource programatically --- .../services/DatabaseConfigInterceptor.java | 51 +++++++++++++++++++ .../impl/sql/AbstractHandleFactory.java | 6 ++- ...io.smallrye.config.ConfigSourceInterceptor | 1 + app/src/main/resources/application.properties | 2 +- .../storage/util/MssqlTestProfile.java | 2 +- .../storage/util/MysqlTestProfile.java | 2 +- .../storage/util/PostgresqlTestProfile.java | 2 +- .../src/main/resources/application.properties | 2 +- 8 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 app/src/main/java/io/apicurio/registry/services/DatabaseConfigInterceptor.java create mode 100644 app/src/main/resources/META-INF/services/io.smallrye.config.ConfigSourceInterceptor diff --git a/app/src/main/java/io/apicurio/registry/services/DatabaseConfigInterceptor.java b/app/src/main/java/io/apicurio/registry/services/DatabaseConfigInterceptor.java new file mode 100644 index 0000000000..12bb96bf40 --- /dev/null +++ b/app/src/main/java/io/apicurio/registry/services/DatabaseConfigInterceptor.java @@ -0,0 +1,51 @@ +package io.apicurio.registry.services; + +import io.apicurio.registry.storage.impl.sql.RegistryDatabaseKind; +import io.smallrye.config.ConfigSourceInterceptor; +import io.smallrye.config.ConfigSourceInterceptorContext; +import io.smallrye.config.ConfigValue; +import jakarta.annotation.Priority; + +@Priority(100) +public class DatabaseConfigInterceptor implements ConfigSourceInterceptor { + + @Override + public ConfigValue getValue(ConfigSourceInterceptorContext context, String name) { + ConfigValue storageKind = context.proceed("apicurio.storage.sql.kind"); + RegistryDatabaseKind databaseKind = RegistryDatabaseKind.valueOf(storageKind.getValue()); + + switch (name) { + case "quarkus.datasource.postgresql.active" -> { + if (databaseKind.equals(RegistryDatabaseKind.postgresql)) { + return ConfigValue.builder().withName(name).withValue("true").build(); + } else { + return ConfigValue.builder().withName(name).withValue("false").build(); + } + } + case "quarkus.datasource.mssql.active" -> { + if (databaseKind.equals(RegistryDatabaseKind.mssql)) { + return ConfigValue.builder().withName(name).withValue("true").build(); + } else { + return ConfigValue.builder().withName(name).withValue("false").build(); + } + } + case "quarkus.datasource.mysql.active" -> { + if (databaseKind.equals(RegistryDatabaseKind.mysql)) { + return ConfigValue.builder().withName(name).withValue("true").build(); + } else { + return ConfigValue.builder().withName(name).withValue("false").build(); + } + } + case "quarkus.datasource.h2.active" -> { + if (databaseKind.equals(RegistryDatabaseKind.h2)) { + return ConfigValue.builder().withName(name).withValue("true").build(); + } else { + return ConfigValue.builder().withName(name).withValue("false").build(); + } + } + } + + return context.proceed(name); + } + +} diff --git a/app/src/main/java/io/apicurio/registry/storage/impl/sql/AbstractHandleFactory.java b/app/src/main/java/io/apicurio/registry/storage/impl/sql/AbstractHandleFactory.java index d593a5ceec..5c167b1718 100644 --- a/app/src/main/java/io/apicurio/registry/storage/impl/sql/AbstractHandleFactory.java +++ b/app/src/main/java/io/apicurio/registry/storage/impl/sql/AbstractHandleFactory.java @@ -7,6 +7,7 @@ import io.apicurio.registry.storage.impl.sql.jdb.HandleImpl; import org.slf4j.Logger; +import java.sql.Connection; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; @@ -34,7 +35,10 @@ public R withHandle(HandleCallback callback) thro try { // Create a new handle if necessary. Increment the "level" if a handle already exists. if (state.handle == null) { - state.handle = new HandleImpl(dataSource.getConnection()); + Connection connection = dataSource.getConnection(); + // We must disable autocommit since we're managing the transactions ourselves. + connection.setAutoCommit(false); + state.handle = new HandleImpl(connection); state.level = 0; } else { state.level++; diff --git a/app/src/main/resources/META-INF/services/io.smallrye.config.ConfigSourceInterceptor b/app/src/main/resources/META-INF/services/io.smallrye.config.ConfigSourceInterceptor new file mode 100644 index 0000000000..b0073943e2 --- /dev/null +++ b/app/src/main/resources/META-INF/services/io.smallrye.config.ConfigSourceInterceptor @@ -0,0 +1 @@ +io.apicurio.registry.services.DatabaseConfigInterceptor \ No newline at end of file diff --git a/app/src/main/resources/application.properties b/app/src/main/resources/application.properties index 8effeb6029..c1a4a3ee75 100644 --- a/app/src/main/resources/application.properties +++ b/app/src/main/resources/application.properties @@ -53,7 +53,7 @@ quarkus.native.additional-build-args=--initialize-at-run-time=org.apache.kafka.c --allow-incomplete-classpath # Package -quarkus.package.type=legacy-jar +quarkus.package.jar.type=legacy-jar quarkus.index-dependency.jaxrs.group-id=jakarta.ws.rs quarkus.index-dependency.jaxrs.artifact-id=jakarta.ws.rs-api diff --git a/app/src/test/java/io/apicurio/registry/storage/util/MssqlTestProfile.java b/app/src/test/java/io/apicurio/registry/storage/util/MssqlTestProfile.java index 39ed1b8d33..457d78742e 100644 --- a/app/src/test/java/io/apicurio/registry/storage/util/MssqlTestProfile.java +++ b/app/src/test/java/io/apicurio/registry/storage/util/MssqlTestProfile.java @@ -11,7 +11,7 @@ public class MssqlTestProfile implements QuarkusTestProfile { @Override public Map getConfigOverrides() { - return Collections.singletonMap("apicurio.storage.sql.kind", "mssql"); + return Map.of("apicurio.storage.sql.kind", "mssql"); } @Override diff --git a/app/src/test/java/io/apicurio/registry/storage/util/MysqlTestProfile.java b/app/src/test/java/io/apicurio/registry/storage/util/MysqlTestProfile.java index 5304d13c3e..48157b6715 100644 --- a/app/src/test/java/io/apicurio/registry/storage/util/MysqlTestProfile.java +++ b/app/src/test/java/io/apicurio/registry/storage/util/MysqlTestProfile.java @@ -11,7 +11,7 @@ public class MysqlTestProfile implements QuarkusTestProfile { @Override public Map getConfigOverrides() { - return Collections.singletonMap("apicurio.storage.sql.kind", "mysql"); + return Map.of("apicurio.storage.sql.kind", "mysql"); } @Override diff --git a/app/src/test/java/io/apicurio/registry/storage/util/PostgresqlTestProfile.java b/app/src/test/java/io/apicurio/registry/storage/util/PostgresqlTestProfile.java index 36919791fd..db9f1c7e93 100644 --- a/app/src/test/java/io/apicurio/registry/storage/util/PostgresqlTestProfile.java +++ b/app/src/test/java/io/apicurio/registry/storage/util/PostgresqlTestProfile.java @@ -11,7 +11,7 @@ public class PostgresqlTestProfile implements QuarkusTestProfile { @Override public Map getConfigOverrides() { - return Collections.singletonMap("apicurio.storage.sql.kind", "postgresql"); + return Map.of("apicurio.storage.sql.kind", "postgresql"); } @Override diff --git a/utils/exportConfluent/src/main/resources/application.properties b/utils/exportConfluent/src/main/resources/application.properties index d47f78b302..7f560a0c88 100644 --- a/utils/exportConfluent/src/main/resources/application.properties +++ b/utils/exportConfluent/src/main/resources/application.properties @@ -1,4 +1,4 @@ quarkus.package.main-class=ConfluentExport quarkus.log.level=WARN -quarkus.package.type=uber-jar \ No newline at end of file +quarkus.package.jar.type=legacy-jar \ No newline at end of file