Browse Source

Micronaut 4 (#8326)

* Micronaut 4

* Correct

* Correct

* Correct

* Correct

* Remove Vertx Graalvm
Denis Stepanov 2 years ago
parent
commit
134d906bac
21 changed files with 64 additions and 95 deletions
  1. 0 23
      frameworks/Java/micronaut/benchmark_config.json
  2. 1 1
      frameworks/Java/micronaut/buildSrc/build.gradle
  3. 1 1
      frameworks/Java/micronaut/buildSrc/src/main/groovy/io.micronaut.benchmark.module.gradle
  4. 2 0
      frameworks/Java/micronaut/common-test/build.gradle
  5. 2 0
      frameworks/Java/micronaut/common/build.gradle
  6. 1 1
      frameworks/Java/micronaut/common/src/main/java/benchmark/controller/AbstractBenchmarkController.java
  7. 9 21
      frameworks/Java/micronaut/common/src/main/java/benchmark/filter/ServerHeaderFilter.java
  8. 17 17
      frameworks/Java/micronaut/config.toml
  9. 1 1
      frameworks/Java/micronaut/gradle.properties
  10. BIN
      frameworks/Java/micronaut/gradle/wrapper/gradle-wrapper.jar
  11. 2 1
      frameworks/Java/micronaut/gradle/wrapper/gradle-wrapper.properties
  12. 12 7
      frameworks/Java/micronaut/gradlew
  13. 1 0
      frameworks/Java/micronaut/gradlew.bat
  14. 2 2
      frameworks/Java/micronaut/micronaut-data-jdbc-graalvm.dockerfile
  15. 2 2
      frameworks/Java/micronaut/micronaut-data-mongodb-graalvm.dockerfile
  16. 2 2
      frameworks/Java/micronaut/micronaut-data-r2dbc-graalvm.dockerfile
  17. 0 2
      frameworks/Java/micronaut/micronaut-data-r2dbc/src/main/java/benchmark/R2dbcWorldRepository.java
  18. 2 2
      frameworks/Java/micronaut/micronaut-graalvm.dockerfile
  19. 2 2
      frameworks/Java/micronaut/micronaut-jdbc-graalvm.dockerfile
  20. 2 2
      frameworks/Java/micronaut/micronaut-r2dbc-graalvm.dockerfile
  21. 3 8
      frameworks/Java/micronaut/micronaut-vertx-pg-client/build.gradle

+ 0 - 23
frameworks/Java/micronaut/benchmark_config.json

@@ -25,29 +25,6 @@
         "notes": "",
         "notes": "",
         "versus": "None"
         "versus": "None"
       },
       },
-      "graalvm": {
-        "json_url": "/json",
-        "plaintext_url": "/plaintext",
-        "db_url": "/db",
-        "query_url": "/queries?queries=",
-        "fortune_url": "/fortunes",
-        "update_url": "/updates?queries=",
-        "port": 8080,
-        "approach": "Realistic",
-        "classification": "Micro",
-        "database": "Postgres",
-        "framework": "Micronaut",
-        "language": "Java",
-        "flavor": "None",
-        "orm": "raw",
-        "platform": "Netty",
-        "webserver": "None",
-        "os": "Linux",
-        "database_os": "Linux",
-        "display_name": "Micronaut Vertx PG Client GraalVM",
-        "notes": "",
-        "versus": "None"
-      },
       "jdbc": {
       "jdbc": {
         "db_url": "/db",
         "db_url": "/db",
         "query_url": "/queries?queries=",
         "query_url": "/queries?queries=",

+ 1 - 1
frameworks/Java/micronaut/buildSrc/build.gradle

@@ -8,6 +8,6 @@ repositories {
 }
 }
 
 
 dependencies {
 dependencies {
-    implementation "io.micronaut.gradle:micronaut-gradle-plugin:3.7.7"
+    implementation "io.micronaut.gradle:micronaut-gradle-plugin:4.0.1"
     implementation "gradle.plugin.com.github.johnrengelman:shadow:7.1.2"
     implementation "gradle.plugin.com.github.johnrengelman:shadow:7.1.2"
 }
 }

+ 1 - 1
frameworks/Java/micronaut/buildSrc/src/main/groovy/io.micronaut.benchmark.module.gradle

@@ -23,7 +23,7 @@ configurations {
 
 
 dependencies {
 dependencies {
     implementation project(":common")
     implementation project(":common")
-    implementation project(":common-test")
+    testImplementation project(":common-test")
     externalTests project(":common-test")
     externalTests project(":common-test")
 }
 }
 
 

+ 2 - 0
frameworks/Java/micronaut/common-test/build.gradle

@@ -11,4 +11,6 @@ dependencies {
     api("io.micronaut:micronaut-http-client")
     api("io.micronaut:micronaut-http-client")
     api("io.micronaut.test:micronaut-test-junit5")
     api("io.micronaut.test:micronaut-test-junit5")
     api("org.junit.jupiter:junit-jupiter-engine")
     api("org.junit.jupiter:junit-jupiter-engine")
+
+    runtimeOnly("org.yaml:snakeyaml")
 }
 }

+ 2 - 0
frameworks/Java/micronaut/common/build.gradle

@@ -29,6 +29,7 @@ rocker {
 dependencies {
 dependencies {
     annotationProcessor("io.micronaut.data:micronaut-data-document-processor")
     annotationProcessor("io.micronaut.data:micronaut-data-document-processor")
 
 
+    api("io.micronaut:micronaut-jackson-databind")
     api("io.micronaut:micronaut-inject")
     api("io.micronaut:micronaut-inject")
     api("io.micronaut:micronaut-http-server-netty")
     api("io.micronaut:micronaut-http-server-netty")
     api("io.micronaut.reactor:micronaut-reactor")
     api("io.micronaut.reactor:micronaut-reactor")
@@ -40,6 +41,7 @@ dependencies {
     implementation("com.fizzed:rocker-runtime")
     implementation("com.fizzed:rocker-runtime")
 
 
     runtimeOnly("ch.qos.logback:logback-classic")
     runtimeOnly("ch.qos.logback:logback-classic")
+    runtimeOnly("org.yaml:snakeyaml")
 }
 }
 
 
 test {
 test {

+ 1 - 1
frameworks/Java/micronaut/common/src/main/java/benchmark/controller/AbstractBenchmarkController.java

@@ -15,7 +15,7 @@ public class AbstractBenchmarkController {
     protected final Integer[] boxed = IntStream.range(1, 10001).boxed().toArray(Integer[]::new);
     protected final Integer[] boxed = IntStream.range(1, 10001).boxed().toArray(Integer[]::new);
 
 
     protected List<Fortune> createFortunes() {
     protected List<Fortune> createFortunes() {
-        List<Integer> fortuneMessages = IntStream.range(0, 10).boxed().collect(Collectors.toList());
+        List<Integer> fortuneMessages = IntStream.range(0, 10).boxed().toList();
         List<Fortune> fortunes = new ArrayList<>(fortuneMessages.size());
         List<Fortune> fortunes = new ArrayList<>(fortuneMessages.size());
         for (Integer number : fortuneMessages) {
         for (Integer number : fortuneMessages) {
             fortunes.add(new Fortune(number + 1, "message" + number));
             fortunes.add(new Fortune(number + 1, "message" + number));

+ 9 - 21
frameworks/Java/micronaut/common/src/main/java/benchmark/filter/ServerHeaderFilter.java

@@ -1,22 +1,18 @@
 package benchmark.filter;
 package benchmark.filter;
 
 
-import io.micronaut.core.async.publisher.Publishers;
-import io.micronaut.http.HttpRequest;
 import io.micronaut.http.MutableHttpResponse;
 import io.micronaut.http.MutableHttpResponse;
 import io.micronaut.http.annotation.Filter;
 import io.micronaut.http.annotation.Filter;
-import io.micronaut.http.filter.HttpServerFilter;
-import io.micronaut.http.filter.ServerFilterChain;
+import io.micronaut.http.annotation.ResponseFilter;
+import io.micronaut.http.annotation.ServerFilter;
 import io.micronaut.scheduling.annotation.Scheduled;
 import io.micronaut.scheduling.annotation.Scheduled;
-import org.reactivestreams.Publisher;
 
 
 import java.time.ZonedDateTime;
 import java.time.ZonedDateTime;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeFormatter;
-import java.util.function.Function;
 
 
-@Filter(Filter.MATCH_ALL_PATTERN)
-public class ServerHeaderFilter implements HttpServerFilter {
+@ServerFilter(Filter.MATCH_ALL_PATTERN)
+public class ServerHeaderFilter {
 
 
-    private volatile Function<MutableHttpResponse<?>, MutableHttpResponse<?>> addHeader;
+    String dateHeader;
 
 
     ServerHeaderFilter() {
     ServerHeaderFilter() {
         setDateHeader();
         setDateHeader();
@@ -24,20 +20,12 @@ public class ServerHeaderFilter implements HttpServerFilter {
 
 
     @Scheduled(fixedRate = "1s")
     @Scheduled(fixedRate = "1s")
     public void setDateHeader() {
     public void setDateHeader() {
-        addHeader = new Function<>() {
-
-            private final String dateHeader = DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.now());
-
-            @Override
-            public MutableHttpResponse<?> apply(MutableHttpResponse<?> mutableHttpResponse) {
-                return mutableHttpResponse.header("Date", dateHeader);
-            }
-        };
+        dateHeader = DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.now());
     }
     }
 
 
-    @Override
-    public Publisher<MutableHttpResponse<?>> doFilter(HttpRequest<?> request, ServerFilterChain chain) {
-        return Publishers.map(chain.proceed(request), addHeader);
+    @ResponseFilter
+    public void addDateHeader(MutableHttpResponse<?> mutableHttpResponse) {
+        mutableHttpResponse.header("Date", dateHeader);
     }
     }
 
 
 }
 }

+ 17 - 17
frameworks/Java/micronaut/config.toml

@@ -73,23 +73,23 @@ platform = "Netty"
 webserver = "None"
 webserver = "None"
 versus = "micronaut-jdbc"
 versus = "micronaut-jdbc"
 
 
-[vertx-pg-client-graalvm]
-urls.plaintext = "/plaintext"
-urls.json = "/json"
-urls.db = "/db"
-urls.query = "/queries?queries="
-urls.update = "/updates?queries="
-urls.fortune = "/fortunes"
-approach = "Realistic"
-classification = "Micro"
-database = "Postgres"
-database_os = "Linux"
-display_name = "micronaut-vertx-pg-client-graalvm"
-os = "Linux"
-orm = "raw"
-platform = "Netty"
-webserver = "None"
-versus = "micronaut"
+#[vertx-pg-client-graalvm]
+#urls.plaintext = "/plaintext"
+#urls.json = "/json"
+#urls.db = "/db"
+#urls.query = "/queries?queries="
+#urls.update = "/updates?queries="
+#urls.fortune = "/fortunes"
+#approach = "Realistic"
+#classification = "Micro"
+#database = "Postgres"
+#database_os = "Linux"
+#display_name = "micronaut-vertx-pg-client-graalvm"
+#os = "Linux"
+#orm = "raw"
+#platform = "Netty"
+#webserver = "None"
+#versus = "micronaut"
 
 
 [jdbc-graalvm]
 [jdbc-graalvm]
 urls.plaintext = "/plaintext"
 urls.plaintext = "/plaintext"

+ 1 - 1
frameworks/Java/micronaut/gradle.properties

@@ -1 +1 @@
-micronautVersion = 3.9.4
+micronautVersion = 4.0.0

BIN
frameworks/Java/micronaut/gradle/wrapper/gradle-wrapper.jar


+ 2 - 1
frameworks/Java/micronaut/gradle/wrapper/gradle-wrapper.properties

@@ -1,5 +1,6 @@
 distributionBase=GRADLE_USER_HOME
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
+networkTimeout=10000
 zipStoreBase=GRADLE_USER_HOME
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
 zipStorePath=wrapper/dists

+ 12 - 7
frameworks/Java/micronaut/gradlew

@@ -55,7 +55,7 @@
 #       Darwin, MinGW, and NonStop.
 #       Darwin, MinGW, and NonStop.
 #
 #
 #   (3) This script is generated from the Groovy template
 #   (3) This script is generated from the Groovy template
-#       https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+#       https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
 #       within the Gradle project.
 #       within the Gradle project.
 #
 #
 #       You can find Gradle at https://github.com/gradle/gradle/.
 #       You can find Gradle at https://github.com/gradle/gradle/.
@@ -80,13 +80,10 @@ do
     esac
     esac
 done
 done
 
 
-APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
-
-APP_NAME="Gradle"
+# This is normally unused
+# shellcheck disable=SC2034
 APP_BASE_NAME=${0##*/}
 APP_BASE_NAME=${0##*/}
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
 
 
 # Use the maximum available, or set MAX_FD != -1 to use that value.
 # Use the maximum available, or set MAX_FD != -1 to use that value.
 MAX_FD=maximum
 MAX_FD=maximum
@@ -143,12 +140,16 @@ fi
 if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
 if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
     case $MAX_FD in #(
     case $MAX_FD in #(
       max*)
       max*)
+        # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+        # shellcheck disable=SC3045
         MAX_FD=$( ulimit -H -n ) ||
         MAX_FD=$( ulimit -H -n ) ||
             warn "Could not query maximum file descriptor limit"
             warn "Could not query maximum file descriptor limit"
     esac
     esac
     case $MAX_FD in  #(
     case $MAX_FD in  #(
       '' | soft) :;; #(
       '' | soft) :;; #(
       *)
       *)
+        # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+        # shellcheck disable=SC3045
         ulimit -n "$MAX_FD" ||
         ulimit -n "$MAX_FD" ||
             warn "Could not set maximum file descriptor limit to $MAX_FD"
             warn "Could not set maximum file descriptor limit to $MAX_FD"
     esac
     esac
@@ -193,6 +194,10 @@ if "$cygwin" || "$msys" ; then
     done
     done
 fi
 fi
 
 
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
 # Collect all arguments for the java command;
 # Collect all arguments for the java command;
 #   * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
 #   * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
 #     shell script including quotes and variable substitutions, so put them in
 #     shell script including quotes and variable substitutions, so put them in

+ 1 - 0
frameworks/Java/micronaut/gradlew.bat

@@ -26,6 +26,7 @@ if "%OS%"=="Windows_NT" setlocal
 
 
 set DIRNAME=%~dp0
 set DIRNAME=%~dp0
 if "%DIRNAME%"=="" set DIRNAME=.
 if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
 set APP_BASE_NAME=%~n0
 set APP_BASE_NAME=%~n0
 set APP_HOME=%DIRNAME%
 set APP_HOME=%DIRNAME%
 
 

+ 2 - 2
frameworks/Java/micronaut/micronaut-data-jdbc-graalvm.dockerfile

@@ -1,10 +1,10 @@
-FROM ghcr.io/graalvm/graalvm-ce:ol7-java17-22.3.0 as build
+FROM ghcr.io/graalvm/graalvm-community:latest as build
 COPY . /home/gradle/src
 COPY . /home/gradle/src
 WORKDIR /home/gradle/src
 WORKDIR /home/gradle/src
 RUN ./gradlew  --no-daemon
 RUN ./gradlew  --no-daemon
 RUN ./gradlew micronaut-data-jdbc:nativeBuild -x test --no-daemon
 RUN ./gradlew micronaut-data-jdbc:nativeBuild -x test --no-daemon
 
 
-FROM frolvlad/alpine-glibc:alpine-3.12
+FROM frolvlad/alpine-glibc:glibc-2.34
 RUN apk --no-cache update && apk add libstdc++
 RUN apk --no-cache update && apk add libstdc++
 WORKDIR /micronaut
 WORKDIR /micronaut
 COPY --from=build /home/gradle/src/micronaut-data-jdbc/build/native/nativeCompile/micronaut-data-jdbc micronaut
 COPY --from=build /home/gradle/src/micronaut-data-jdbc/build/native/nativeCompile/micronaut-data-jdbc micronaut

+ 2 - 2
frameworks/Java/micronaut/micronaut-data-mongodb-graalvm.dockerfile

@@ -1,10 +1,10 @@
-FROM ghcr.io/graalvm/graalvm-ce:ol7-java17-22.3.0 as build
+FROM ghcr.io/graalvm/graalvm-community:latest as build
 COPY . /home/gradle/src
 COPY . /home/gradle/src
 WORKDIR /home/gradle/src
 WORKDIR /home/gradle/src
 RUN ./gradlew  --no-daemon
 RUN ./gradlew  --no-daemon
 RUN ./gradlew micronaut-data-mongodb:nativeBuild -x test --no-daemon
 RUN ./gradlew micronaut-data-mongodb:nativeBuild -x test --no-daemon
 
 
-FROM frolvlad/alpine-glibc:alpine-3.12
+FROM frolvlad/alpine-glibc:glibc-2.34
 RUN apk --no-cache update && apk add libstdc++
 RUN apk --no-cache update && apk add libstdc++
 WORKDIR /micronaut
 WORKDIR /micronaut
 COPY --from=build /home/gradle/src/micronaut-data-mongodb/build/native/nativeCompile/micronaut-data-mongodb micronaut
 COPY --from=build /home/gradle/src/micronaut-data-mongodb/build/native/nativeCompile/micronaut-data-mongodb micronaut

+ 2 - 2
frameworks/Java/micronaut/micronaut-data-r2dbc-graalvm.dockerfile

@@ -1,10 +1,10 @@
-FROM ghcr.io/graalvm/graalvm-ce:ol7-java17-22.3.0 as build
+FROM ghcr.io/graalvm/graalvm-community:latest as build
 COPY . /home/gradle/src
 COPY . /home/gradle/src
 WORKDIR /home/gradle/src
 WORKDIR /home/gradle/src
 RUN ./gradlew  --no-daemon
 RUN ./gradlew  --no-daemon
 RUN ./gradlew micronaut-data-r2dbc:nativeBuild -x test --no-daemon
 RUN ./gradlew micronaut-data-r2dbc:nativeBuild -x test --no-daemon
 
 
-FROM frolvlad/alpine-glibc:alpine-3.12
+FROM frolvlad/alpine-glibc:glibc-2.34
 RUN apk --no-cache update && apk add libstdc++
 RUN apk --no-cache update && apk add libstdc++
 WORKDIR /micronaut
 WORKDIR /micronaut
 COPY --from=build /home/gradle/src/micronaut-data-r2dbc/build/native/nativeCompile/micronaut-data-r2dbc micronaut
 COPY --from=build /home/gradle/src/micronaut-data-r2dbc/build/native/nativeCompile/micronaut-data-r2dbc micronaut

+ 0 - 2
frameworks/Java/micronaut/micronaut-data-r2dbc/src/main/java/benchmark/R2dbcWorldRepository.java

@@ -5,11 +5,9 @@ import benchmark.repository.ReactiveWorldRepository;
 import io.micronaut.data.model.query.builder.sql.Dialect;
 import io.micronaut.data.model.query.builder.sql.Dialect;
 import io.micronaut.data.r2dbc.annotation.R2dbcRepository;
 import io.micronaut.data.r2dbc.annotation.R2dbcRepository;
 import io.micronaut.data.repository.GenericRepository;
 import io.micronaut.data.repository.GenericRepository;
-import io.micronaut.transaction.annotation.ReadOnly;
 import org.reactivestreams.Publisher;
 import org.reactivestreams.Publisher;
 import reactor.core.publisher.Mono;
 import reactor.core.publisher.Mono;
 
 
-import javax.transaction.Transactional;
 import java.util.Collection;
 import java.util.Collection;
 import java.util.List;
 import java.util.List;
 
 

+ 2 - 2
frameworks/Java/micronaut/micronaut-graalvm.dockerfile

@@ -1,10 +1,10 @@
-FROM ghcr.io/graalvm/graalvm-ce:ol7-java17-22.3.0 as build
+FROM ghcr.io/graalvm/graalvm-community:latest as build
 COPY . /home/gradle/src
 COPY . /home/gradle/src
 WORKDIR /home/gradle/src
 WORKDIR /home/gradle/src
 RUN ./gradlew  --no-daemon
 RUN ./gradlew  --no-daemon
 RUN ./gradlew micronaut-vertx-pg-client:nativeBuild -x test --no-daemon
 RUN ./gradlew micronaut-vertx-pg-client:nativeBuild -x test --no-daemon
 
 
-FROM frolvlad/alpine-glibc:alpine-3.12
+FROM frolvlad/alpine-glibc:glibc-2.34
 RUN apk --no-cache update && apk add libstdc++
 RUN apk --no-cache update && apk add libstdc++
 WORKDIR /micronaut
 WORKDIR /micronaut
 COPY --from=build /home/gradle/src/micronaut-vertx-pg-client/build/native/nativeCompile/micronaut-vertx-pg-client micronaut
 COPY --from=build /home/gradle/src/micronaut-vertx-pg-client/build/native/nativeCompile/micronaut-vertx-pg-client micronaut

+ 2 - 2
frameworks/Java/micronaut/micronaut-jdbc-graalvm.dockerfile

@@ -1,10 +1,10 @@
-FROM ghcr.io/graalvm/graalvm-ce:ol7-java17-22.3.0 as build
+FROM ghcr.io/graalvm/graalvm-community:latest as build
 COPY . /home/gradle/src
 COPY . /home/gradle/src
 WORKDIR /home/gradle/src
 WORKDIR /home/gradle/src
 RUN ./gradlew  --no-daemon
 RUN ./gradlew  --no-daemon
 RUN ./gradlew micronaut-jdbc:nativeBuild -x test --no-daemon
 RUN ./gradlew micronaut-jdbc:nativeBuild -x test --no-daemon
 
 
-FROM frolvlad/alpine-glibc:alpine-3.12
+FROM frolvlad/alpine-glibc:glibc-2.34
 RUN apk --no-cache update && apk add libstdc++
 RUN apk --no-cache update && apk add libstdc++
 WORKDIR /micronaut
 WORKDIR /micronaut
 COPY --from=build /home/gradle/src/micronaut-jdbc/build/native/nativeCompile/micronaut-jdbc micronaut
 COPY --from=build /home/gradle/src/micronaut-jdbc/build/native/nativeCompile/micronaut-jdbc micronaut

+ 2 - 2
frameworks/Java/micronaut/micronaut-r2dbc-graalvm.dockerfile

@@ -1,10 +1,10 @@
-FROM ghcr.io/graalvm/graalvm-ce:ol7-java17-22.3.0 as build
+FROM ghcr.io/graalvm/graalvm-community:latest as build
 COPY . /home/gradle/src
 COPY . /home/gradle/src
 WORKDIR /home/gradle/src
 WORKDIR /home/gradle/src
 RUN ./gradlew  --no-daemon
 RUN ./gradlew  --no-daemon
 RUN ./gradlew micronaut-r2dbc:nativeBuild -x test --no-daemon
 RUN ./gradlew micronaut-r2dbc:nativeBuild -x test --no-daemon
 
 
-FROM frolvlad/alpine-glibc:alpine-3.12
+FROM frolvlad/alpine-glibc:glibc-2.34
 RUN apk --no-cache update && apk add libstdc++
 RUN apk --no-cache update && apk add libstdc++
 WORKDIR /micronaut
 WORKDIR /micronaut
 COPY --from=build /home/gradle/src/micronaut-r2dbc/build/native/nativeCompile/micronaut-r2dbc micronaut
 COPY --from=build /home/gradle/src/micronaut-r2dbc/build/native/nativeCompile/micronaut-r2dbc micronaut

+ 3 - 8
frameworks/Java/micronaut/micronaut-vertx-pg-client/build.gradle

@@ -2,14 +2,9 @@ plugins {
     id 'io.micronaut.benchmark.module'
     id 'io.micronaut.benchmark.module'
 }
 }
 
 
-graalvmNative.binaries.all {
-    buildArgs.add("--initialize-at-build-time=" +
-            "io.vertx.core.logging.LoggerFactory," +
-            "io.vertx.core.logging.SLF4JLogDelegateFactory," +
-            "io.vertx.core.logging.SLF4JLogDelegate," +
-            "io.vertx.pgclient.impl.codec.DataTypeCodec")
+graalvmNative.binaries.configureEach {
+    buildArgs.add("--initialize-at-build-time=io.vertx.pgclient.impl.codec.DataTypeCodec")
 }
 }
-
 micronaut {
 micronaut {
     testResources {
     testResources {
         additionalModules.add(JDBC_POSTGRESQL)
         additionalModules.add(JDBC_POSTGRESQL)
@@ -18,5 +13,5 @@ micronaut {
 
 
 dependencies {
 dependencies {
     implementation("io.vertx:vertx-pg-client")
     implementation("io.vertx:vertx-pg-client")
-    implementation('com.ongres.scram:client:2.1')
+    implementation('com.ongres.scram:client')
 }
 }