From f1105fb6fe979990210431fd5f4f797c9f1eea20 Mon Sep 17 00:00:00 2001 From: timis1 <12120641+timis1@users.noreply.github.com> Date: Tue, 5 Mar 2024 13:18:12 +0200 Subject: [PATCH] JAVA-24065 Quarkus-vs-SpringBoot: Fixing current codebase (#15949) --- .../spring-project/pom.xml | 210 ++---------------- .../spring-project/src/main/docker/schema.sql | 2 + .../spring-project/src/main/docker/spring.yml | 27 ++- .../com/baeldung/spring_project/Startup.java | 29 +-- 4 files changed, 38 insertions(+), 230 deletions(-) create mode 100644 quarkus-modules/quarkus-vs-springboot/spring-project/src/main/docker/schema.sql diff --git a/quarkus-modules/quarkus-vs-springboot/spring-project/pom.xml b/quarkus-modules/quarkus-vs-springboot/spring-project/pom.xml index cbca49a633..fc24b43497 100644 --- a/quarkus-modules/quarkus-vs-springboot/spring-project/pom.xml +++ b/quarkus-modules/quarkus-vs-springboot/spring-project/pom.xml @@ -1,16 +1,15 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 spring-project 0.1-SNAPSHOT - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../../../parent-boot-2 + org.springframework.boot + spring-boot-starter-parent + 3.1.3 @@ -35,14 +34,9 @@ spring-boot-starter-webflux - org.springframework.experimental - spring-native - ${spring-native.version} - - - com.github.jasync-sql - jasync-r2dbc-mysql - ${jasync-r2dbc-mysql.version} + io.asyncer + r2dbc-mysql + ${r2dbc-mysql.version} org.springframework.boot @@ -84,197 +78,21 @@ - org.springframework.boot - spring-boot-maven-plugin - - exec - - true - - - paketobuildpacks/builder:tiny - - false - true - - - + org.graalvm.buildtools + native-maven-plugin - org.apache.maven.plugins - maven-compiler-plugin - 3.12.1 - - ${maven.compiler.release} - ${maven.compiler.release} - + org.springframework.boot + spring-boot-maven-plugin - - - spring-release - Spring release - https://repo.spring.io/release - - - spring-milestone - Spring Milestone - https://repo.spring.io/milestone - - - spring-snapshot - Spring Snapshot - https://repo.spring.io/snapshot - - - - - - - spring-milestone - Spring milestone - https://repo.spring.io/milestone - - - - - - - - - native - - - org.junit.platform - junit-platform-launcher - test - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - true - - - paketobuildpacks/builder:tiny - - true - true - - - - - - org.springframework.experimental - spring-aot-maven-plugin - ${spring-native.version} - - - test-generate - - test-generate - - - - generate - - generate - - - - - - - - - local-native - - exec - ${native-buildtools.version} - - - - org.junit.platform - junit-platform-launcher - test - - - - - - org.springframework.experimental - spring-aot-maven-plugin - ${spring-native.version} - - - test-generate - - test-generate - - - - generate - - generate - - - - - - org.graalvm.buildtools - native-maven-plugin - ${native-buildtools.version} - true - - - -H:+AllowVMInspection - - - - - build-native - - build - - package - - - test-native - - test - - test - - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - -DspringAot=true - -agentlib:native-image-agent=access-filter-file=src/test/resources/access-filter.json,config-merge-dir=target/classes/META-INF/native-image - - - - - - - + 17 1.17.2 - 0.12.1 - 3.1.0 - 0.9.11 - 2.0.8 - 17 + 1.0.2 \ No newline at end of file diff --git a/quarkus-modules/quarkus-vs-springboot/spring-project/src/main/docker/schema.sql b/quarkus-modules/quarkus-vs-springboot/spring-project/src/main/docker/schema.sql new file mode 100644 index 0000000000..3b1c10a1e8 --- /dev/null +++ b/quarkus-modules/quarkus-vs-springboot/spring-project/src/main/docker/schema.sql @@ -0,0 +1,2 @@ +DROP TABLE IF EXISTS zipcode; +CREATE TABLE zipcode (zip VARCHAR(100) PRIMARY KEY, type VARCHAR(255) NULL, city VARCHAR(255) NULL, state VARCHAR(255) NULL, county VARCHAR(255) NULL, timezone VARCHAR(255) NULL); \ No newline at end of file diff --git a/quarkus-modules/quarkus-vs-springboot/spring-project/src/main/docker/spring.yml b/quarkus-modules/quarkus-vs-springboot/spring-project/src/main/docker/spring.yml index 347b5dfe2f..65366f423a 100644 --- a/quarkus-modules/quarkus-vs-springboot/spring-project/src/main/docker/spring.yml +++ b/quarkus-modules/quarkus-vs-springboot/spring-project/src/main/docker/spring.yml @@ -11,16 +11,19 @@ services: command: [ 'mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci' ] healthcheck: test: mysqladmin ping -h 127.0.0.1 -u $$MYSQL_USER --password=$$MYSQL_PASSWORD + volumes: + - ./schema.sql:/docker-entrypoint-initdb.d/schema.sql app: - image: docker.io/library/spring-project:0.1-SNAPSHOT - network_mode: "host" - environment: - DB_URL: r2dbc:mysql://localhost:3306/baeldung?useSSL=true&requireSSL=true - HOST_HOSTNAME: ${EXTERNAL_IP} - depends_on: - db: - condition: service_healthy - deploy: - resources: - limits: - cpus: '3.00' + image: docker.io/library/spring-project:0.1-SNAPSHOT + ports: + - '8080:8080' + environment: + DB_URL: r2dbc:mysql://db:3306/baeldung?useSSL=true&requireSSL=true + HOST_HOSTNAME: ${EXTERNAL_IP} + depends_on: + db: + condition: service_healthy + deploy: + resources: + limits: + cpus: '3.00' diff --git a/quarkus-modules/quarkus-vs-springboot/spring-project/src/main/java/com/baeldung/spring_project/Startup.java b/quarkus-modules/quarkus-vs-springboot/spring-project/src/main/java/com/baeldung/spring_project/Startup.java index e8544da8db..36ff6e7afa 100644 --- a/quarkus-modules/quarkus-vs-springboot/spring-project/src/main/java/com/baeldung/spring_project/Startup.java +++ b/quarkus-modules/quarkus-vs-springboot/spring-project/src/main/java/com/baeldung/spring_project/Startup.java @@ -4,36 +4,21 @@ import io.r2dbc.spi.ConnectionFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; -import org.springframework.core.io.ByteArrayResource; import org.springframework.data.r2dbc.repository.config.EnableR2dbcRepositories; import org.springframework.r2dbc.connection.R2dbcTransactionManager; -import org.springframework.r2dbc.connection.init.ConnectionFactoryInitializer; -import org.springframework.r2dbc.connection.init.ResourceDatabasePopulator; import org.springframework.transaction.ReactiveTransactionManager; @SpringBootApplication @EnableR2dbcRepositories public class Startup { - public static void main(String[] args) { - SpringApplication.run(Startup.class, args); - } + public static void main(String[] args) { + SpringApplication.run(Startup.class, args); + } - @Bean - ConnectionFactoryInitializer initializer(ConnectionFactory connectionFactory) { - - var initializer = new ConnectionFactoryInitializer(); - initializer.setConnectionFactory(connectionFactory); - initializer.setDatabasePopulator(new ResourceDatabasePopulator(new ByteArrayResource(("" - + "DROP TABLE IF EXISTS zipcode;" - + "CREATE TABLE zipcode (zip VARCHAR(100) PRIMARY KEY, type VARCHAR(255) NULL, city VARCHAR(255) NULL, state VARCHAR(255) NULL, county VARCHAR(255) NULL, timezone VARCHAR(255) NULL);") - .getBytes()))); - - return initializer; - } - - @Bean ReactiveTransactionManager transactionManager(ConnectionFactory connectionFactory) { - return new R2dbcTransactionManager(connectionFactory); - } + @Bean + public ReactiveTransactionManager transactionManager(ConnectionFactory connectionFactory) { + return new R2dbcTransactionManager(connectionFactory); + } }