From ea6942e3b13174bebfbb3de0e4ae712dae696cd5 Mon Sep 17 00:00:00 2001 From: chengpu Date: Sun, 19 Feb 2023 21:48:00 +0800 Subject: [PATCH 1/2] feature: adapter GraaLVM of Seata module. --- pom.xml | 2 +- spring-cloud-alibaba-dependencies/pom.xml | 4 +- .../seata-example/account-service/pom.xml | 50 ++++++++++++++++--- .../cloud/examples/DatabaseConfiguration.java | 13 ++--- .../src/main/resources/application.yml | 11 ++-- .../seata-example/business-service/pom.xml | 44 ++++++++++++++++ .../seata-example/order-service/pom.xml | 49 ++++++++++++++++-- .../cloud/examples/DatabaseConfiguration.java | 13 ++--- .../src/main/resources/application.yml | 11 ++-- .../seata-example/seata-server/pom.xml | 18 +++++-- .../src/main/resources/application.yml | 1 + .../seata-example/storage-service/pom.xml | 49 ++++++++++++++++-- .../config/DatabaseConfiguration.java | 6 ++- .../src/main/resources/application.yml | 11 ++-- 14 files changed, 230 insertions(+), 52 deletions(-) diff --git a/pom.xml b/pom.xml index e703a707f5..e37da4f399 100644 --- a/pom.xml +++ b/pom.xml @@ -80,7 +80,7 @@ - 2022.0.0.0-RC1 + 2022.0.0.0-RC2 2022.0.0 diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index b4df3dac42..794e3741e9 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -18,9 +18,9 @@ Spring Cloud Alibaba Dependencies - 2022.0.0.0-RC1 + 2022.0.0.0-RC2 1.8.6 - 1.6.1 + 1.7.0-native-rc1 2.2.1-RC 1.0.11 diff --git a/spring-cloud-alibaba-examples/seata-example/account-service/pom.xml b/spring-cloud-alibaba-examples/seata-example/account-service/pom.xml index 1deb983170..42dd82eb6b 100644 --- a/spring-cloud-alibaba-examples/seata-example/account-service/pom.xml +++ b/spring-cloud-alibaba-examples/seata-example/account-service/pom.xml @@ -35,12 +35,6 @@ org.springframework.boot spring-boot-starter-jdbc - - - com.alibaba - druid-spring-boot-starter - 1.1.10 - mysql mysql-connector-java @@ -54,6 +48,50 @@ + + org.graalvm.buildtools + native-maven-plugin + + ${project.build.outputDirectory} + + true + + 22.3 + + --initialize-at-build-time=ch.qos.logback.classic.Logger + --initialize-at-build-time=ch.qos.logback.core.status.InfoStatus + --initialize-at-build-time=ch.qos.logback.core.status.StatusBase + --initialize-at-build-time=org.slf4j.LoggerFactory + --initialize-at-build-time=ch.qos.logback.core.CoreConstants + --initialize-at-build-time=org.slf4j.MDC + --initialize-at-build-time=ch.qos.logback.classic.Level + --initialize-at-build-time=ch.qos.logback.core.util.Loader + --initialize-at-build-time=ch.qos.logback.core.util.StatusPrinter + --initialize-at-run-time=io.netty.channel.epoll.Epoll + --initialize-at-run-time=io.netty.channel.epoll.Native + --initialize-at-run-time=io.netty.channel.epoll.EpollEventLoop + --initialize-at-run-time=io.netty.channel.epoll.EpollEventArray + --initialize-at-run-time=io.netty.channel.DefaultFileRegion + --initialize-at-run-time=io.netty.channel.kqueue.KQueueEventArray + --initialize-at-run-time=io.netty.channel.kqueue.KQueueEventLoop + --initialize-at-run-time=io.netty.channel.kqueue.Native + --initialize-at-run-time=io.netty.channel.unix.Errors + --initialize-at-run-time=io.netty.channel.unix.IovArray + --initialize-at-run-time=io.netty.channel.unix.Limits + --initialize-at-run-time=io.netty.util.internal.logging.Log4JLogger + --initialize-at-run-time=io.netty.channel.unix.Socket + --initialize-at-run-time=io.netty.channel.ChannelHandlerMask + + + + + add-reachability-metadata + + add-reachability-metadata + + + + org.springframework.boot spring-boot-maven-plugin diff --git a/spring-cloud-alibaba-examples/seata-example/account-service/src/main/java/com/alibaba/cloud/examples/DatabaseConfiguration.java b/spring-cloud-alibaba-examples/seata-example/account-service/src/main/java/com/alibaba/cloud/examples/DatabaseConfiguration.java index 648506ed28..6180c57700 100644 --- a/spring-cloud-alibaba-examples/seata-example/account-service/src/main/java/com/alibaba/cloud/examples/DatabaseConfiguration.java +++ b/spring-cloud-alibaba-examples/seata-example/account-service/src/main/java/com/alibaba/cloud/examples/DatabaseConfiguration.java @@ -32,12 +32,13 @@ @Configuration public class DatabaseConfiguration { - @Bean - @Primary - @ConfigurationProperties("spring.datasource") - public DataSource storageDataSource() { - return new DruidDataSource(); - } +// druid don't support GraalVM now because of there is CGlib proxy +// @Bean +// @Primary +// @ConfigurationProperties("spring.datasource") +// public DataSource storageDataSource() { +// return new DruidDataSource(); +// } @Bean public JdbcTemplate jdbcTemplate(DataSource dataSource) { diff --git a/spring-cloud-alibaba-examples/seata-example/account-service/src/main/resources/application.yml b/spring-cloud-alibaba-examples/seata-example/account-service/src/main/resources/application.yml index 605121197f..32b8a49a61 100644 --- a/spring-cloud-alibaba-examples/seata-example/account-service/src/main/resources/application.yml +++ b/spring-cloud-alibaba-examples/seata-example/account-service/src/main/resources/application.yml @@ -21,15 +21,16 @@ spring: allow-bean-definition-overriding: true datasource: name: storageDataSource - type: com.alibaba.druid.pool.DruidDataSource +# druid don't support GraalVM now because of there is CGlib proxy +# type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://${base.config.mdb.hostname}:${base.config.mdb.port}/${base.config.mdb.dbname}?useSSL=false&serverTimezone=UTC username: ${base.config.mdb.username} password: ${base.config.mdb.password} - druid: - max-active: 20 - min-idle: 2 - initial-size: 2 +# druid: +# max-active: 20 +# min-idle: 2 +# initial-size: 2 seata: enabled: true diff --git a/spring-cloud-alibaba-examples/seata-example/business-service/pom.xml b/spring-cloud-alibaba-examples/seata-example/business-service/pom.xml index 3b7448461d..ac407bad8a 100644 --- a/spring-cloud-alibaba-examples/seata-example/business-service/pom.xml +++ b/spring-cloud-alibaba-examples/seata-example/business-service/pom.xml @@ -46,6 +46,50 @@ + + org.graalvm.buildtools + native-maven-plugin + + ${project.build.outputDirectory} + + true + + 22.3 + + --initialize-at-build-time=ch.qos.logback.classic.Logger + --initialize-at-build-time=ch.qos.logback.core.status.InfoStatus + --initialize-at-build-time=ch.qos.logback.core.status.StatusBase + --initialize-at-build-time=org.slf4j.LoggerFactory + --initialize-at-build-time=ch.qos.logback.core.CoreConstants + --initialize-at-build-time=org.slf4j.MDC + --initialize-at-build-time=ch.qos.logback.classic.Level + --initialize-at-build-time=ch.qos.logback.core.util.Loader + --initialize-at-build-time=ch.qos.logback.core.util.StatusPrinter + --initialize-at-run-time=io.netty.channel.epoll.Epoll + --initialize-at-run-time=io.netty.channel.epoll.Native + --initialize-at-run-time=io.netty.channel.epoll.EpollEventLoop + --initialize-at-run-time=io.netty.channel.epoll.EpollEventArray + --initialize-at-run-time=io.netty.channel.DefaultFileRegion + --initialize-at-run-time=io.netty.channel.kqueue.KQueueEventArray + --initialize-at-run-time=io.netty.channel.kqueue.KQueueEventLoop + --initialize-at-run-time=io.netty.channel.kqueue.Native + --initialize-at-run-time=io.netty.channel.unix.Errors + --initialize-at-run-time=io.netty.channel.unix.IovArray + --initialize-at-run-time=io.netty.channel.unix.Limits + --initialize-at-run-time=io.netty.util.internal.logging.Log4JLogger + --initialize-at-run-time=io.netty.channel.unix.Socket + --initialize-at-run-time=io.netty.channel.ChannelHandlerMask + + + + + add-reachability-metadata + + add-reachability-metadata + + + + org.springframework.boot spring-boot-maven-plugin diff --git a/spring-cloud-alibaba-examples/seata-example/order-service/pom.xml b/spring-cloud-alibaba-examples/seata-example/order-service/pom.xml index f3d283e0d4..1ed3abb2ce 100644 --- a/spring-cloud-alibaba-examples/seata-example/order-service/pom.xml +++ b/spring-cloud-alibaba-examples/seata-example/order-service/pom.xml @@ -35,11 +35,6 @@ spring-boot-starter-jdbc - - com.alibaba - druid-spring-boot-starter - 1.1.10 - mysql mysql-connector-java @@ -53,6 +48,50 @@ + + org.graalvm.buildtools + native-maven-plugin + + ${project.build.outputDirectory} + + true + + 22.3 + + --initialize-at-build-time=ch.qos.logback.classic.Logger + --initialize-at-build-time=ch.qos.logback.core.status.InfoStatus + --initialize-at-build-time=ch.qos.logback.core.status.StatusBase + --initialize-at-build-time=org.slf4j.LoggerFactory + --initialize-at-build-time=ch.qos.logback.core.CoreConstants + --initialize-at-build-time=org.slf4j.MDC + --initialize-at-build-time=ch.qos.logback.classic.Level + --initialize-at-build-time=ch.qos.logback.core.util.Loader + --initialize-at-build-time=ch.qos.logback.core.util.StatusPrinter + --initialize-at-run-time=io.netty.channel.epoll.Epoll + --initialize-at-run-time=io.netty.channel.epoll.Native + --initialize-at-run-time=io.netty.channel.epoll.EpollEventLoop + --initialize-at-run-time=io.netty.channel.epoll.EpollEventArray + --initialize-at-run-time=io.netty.channel.DefaultFileRegion + --initialize-at-run-time=io.netty.channel.kqueue.KQueueEventArray + --initialize-at-run-time=io.netty.channel.kqueue.KQueueEventLoop + --initialize-at-run-time=io.netty.channel.kqueue.Native + --initialize-at-run-time=io.netty.channel.unix.Errors + --initialize-at-run-time=io.netty.channel.unix.IovArray + --initialize-at-run-time=io.netty.channel.unix.Limits + --initialize-at-run-time=io.netty.util.internal.logging.Log4JLogger + --initialize-at-run-time=io.netty.channel.unix.Socket + --initialize-at-run-time=io.netty.channel.ChannelHandlerMask + + + + + add-reachability-metadata + + add-reachability-metadata + + + + org.springframework.boot spring-boot-maven-plugin diff --git a/spring-cloud-alibaba-examples/seata-example/order-service/src/main/java/com/alibaba/cloud/examples/DatabaseConfiguration.java b/spring-cloud-alibaba-examples/seata-example/order-service/src/main/java/com/alibaba/cloud/examples/DatabaseConfiguration.java index 02fab6cc31..612901d6a6 100644 --- a/spring-cloud-alibaba-examples/seata-example/order-service/src/main/java/com/alibaba/cloud/examples/DatabaseConfiguration.java +++ b/spring-cloud-alibaba-examples/seata-example/order-service/src/main/java/com/alibaba/cloud/examples/DatabaseConfiguration.java @@ -32,12 +32,13 @@ @Configuration public class DatabaseConfiguration { - @Bean - @Primary - @ConfigurationProperties("spring.datasource") - public DataSource storageDataSource() { - return new DruidDataSource(); - } +// druid don't support GraalVM now because of there is CGlib proxy +// @Bean +// @Primary +// @ConfigurationProperties("spring.datasource") +// public DataSource storageDataSource() { +// return new DruidDataSource(); +// } @Bean public JdbcTemplate jdbcTemplate(DataSource dataSource) { diff --git a/spring-cloud-alibaba-examples/seata-example/order-service/src/main/resources/application.yml b/spring-cloud-alibaba-examples/seata-example/order-service/src/main/resources/application.yml index 49683f33ab..310e77cdb8 100644 --- a/spring-cloud-alibaba-examples/seata-example/order-service/src/main/resources/application.yml +++ b/spring-cloud-alibaba-examples/seata-example/order-service/src/main/resources/application.yml @@ -20,15 +20,16 @@ spring: allow-bean-definition-overriding: true datasource: name: storageDataSource - type: com.alibaba.druid.pool.DruidDataSource +# druid don't support GraalVM now because of there is CGlib proxy +# type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://${base.config.mdb.hostname}:${base.config.mdb.port}/${base.config.mdb.dbname}?useSSL=false&serverTimezone=UTC username: ${base.config.mdb.username} password: ${base.config.mdb.password} - druid: - max-active: 20 - min-idle: 2 - initial-size: 2 +# druid: +# max-active: 20 +# min-idle: 2 +# initial-size: 2 seata: enabled: true diff --git a/spring-cloud-alibaba-examples/seata-example/seata-server/pom.xml b/spring-cloud-alibaba-examples/seata-example/seata-server/pom.xml index 70645cbb84..62fbc51233 100644 --- a/spring-cloud-alibaba-examples/seata-example/seata-server/pom.xml +++ b/spring-cloud-alibaba-examples/seata-example/seata-server/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> - spring-cloud-alibaba-examples - com.alibaba.cloud - ${revision} - ../../pom.xml + org.springframework.boot + spring-boot-starter-parent + 2.6.11 + 4.0.0 seata-server @@ -23,6 +23,16 @@ + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + true + + 8 + 8 + + org.springframework.boot spring-boot-maven-plugin diff --git a/spring-cloud-alibaba-examples/seata-example/seata-server/src/main/resources/application.yml b/spring-cloud-alibaba-examples/seata-example/seata-server/src/main/resources/application.yml index 0b450d29ea..539c291525 100644 --- a/spring-cloud-alibaba-examples/seata-example/seata-server/src/main/resources/application.yml +++ b/spring-cloud-alibaba-examples/seata-example/seata-server/src/main/resources/application.yml @@ -52,6 +52,7 @@ seata: cluster: default username: nacos password: nacos + group: DEFAULT_GROUP store: # support: file 、 db 、 redis mode: db diff --git a/spring-cloud-alibaba-examples/seata-example/storage-service/pom.xml b/spring-cloud-alibaba-examples/seata-example/storage-service/pom.xml index 6314cb2b55..76ba1c209c 100644 --- a/spring-cloud-alibaba-examples/seata-example/storage-service/pom.xml +++ b/spring-cloud-alibaba-examples/seata-example/storage-service/pom.xml @@ -34,11 +34,6 @@ org.springframework.boot spring-boot-starter-jdbc - - com.alibaba - druid-spring-boot-starter - 1.1.10 - mysql mysql-connector-java @@ -52,6 +47,50 @@ + + org.graalvm.buildtools + native-maven-plugin + + ${project.build.outputDirectory} + + true + + 22.3 + + --initialize-at-build-time=ch.qos.logback.classic.Logger + --initialize-at-build-time=ch.qos.logback.core.status.InfoStatus + --initialize-at-build-time=ch.qos.logback.core.status.StatusBase + --initialize-at-build-time=org.slf4j.LoggerFactory + --initialize-at-build-time=ch.qos.logback.core.CoreConstants + --initialize-at-build-time=org.slf4j.MDC + --initialize-at-build-time=ch.qos.logback.classic.Level + --initialize-at-build-time=ch.qos.logback.core.util.Loader + --initialize-at-build-time=ch.qos.logback.core.util.StatusPrinter + --initialize-at-run-time=io.netty.channel.epoll.Epoll + --initialize-at-run-time=io.netty.channel.epoll.Native + --initialize-at-run-time=io.netty.channel.epoll.EpollEventLoop + --initialize-at-run-time=io.netty.channel.epoll.EpollEventArray + --initialize-at-run-time=io.netty.channel.DefaultFileRegion + --initialize-at-run-time=io.netty.channel.kqueue.KQueueEventArray + --initialize-at-run-time=io.netty.channel.kqueue.KQueueEventLoop + --initialize-at-run-time=io.netty.channel.kqueue.Native + --initialize-at-run-time=io.netty.channel.unix.Errors + --initialize-at-run-time=io.netty.channel.unix.IovArray + --initialize-at-run-time=io.netty.channel.unix.Limits + --initialize-at-run-time=io.netty.util.internal.logging.Log4JLogger + --initialize-at-run-time=io.netty.channel.unix.Socket + --initialize-at-run-time=io.netty.channel.ChannelHandlerMask + + + + + add-reachability-metadata + + add-reachability-metadata + + + + org.springframework.boot spring-boot-maven-plugin diff --git a/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/java/com/alibaba/cloud/examples/config/DatabaseConfiguration.java b/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/java/com/alibaba/cloud/examples/config/DatabaseConfiguration.java index a1ea8ee240..7bd92f198d 100644 --- a/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/java/com/alibaba/cloud/examples/config/DatabaseConfiguration.java +++ b/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/java/com/alibaba/cloud/examples/config/DatabaseConfiguration.java @@ -32,12 +32,14 @@ @Configuration public class DatabaseConfiguration { - @Bean + +// druid don't support GraalVM now because of there is CGlib proxy + /*@Bean @Primary @ConfigurationProperties("spring.datasource") public DataSource storageDataSource() { return new DruidDataSource(); - } + }*/ @Bean public JdbcTemplate jdbcTemplate(DataSource dataSource) { diff --git a/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/resources/application.yml b/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/resources/application.yml index 3d4d94e649..6ae0e6e27e 100644 --- a/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/resources/application.yml +++ b/spring-cloud-alibaba-examples/seata-example/storage-service/src/main/resources/application.yml @@ -21,15 +21,16 @@ spring: allow-bean-definition-overriding: true datasource: name: storageDataSource - type: com.alibaba.druid.pool.DruidDataSource +# druid don't support GraalVM now because of there is CGlib proxy +# type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://${base.config.mdb.hostname}:${base.config.mdb.port}/${base.config.mdb.dbname}?useSSL=false&serverTimezone=UTC username: ${base.config.mdb.username} password: ${base.config.mdb.password} - druid: - max-active: 20 - min-idle: 2 - initial-size: 2 +# druid: +# max-active: 20 +# min-idle: 2 +# initial-size: 2 seata: enabled: true From 174cb21fc74a25492f06ecec7ae96e4264d2383f Mon Sep 17 00:00:00 2001 From: chengpu Date: Wed, 22 Feb 2023 18:03:31 +0800 Subject: [PATCH 2/2] feature: modified Seata version. --- spring-cloud-alibaba-dependencies/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index 794e3741e9..10259d3563 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -20,7 +20,7 @@ 2022.0.0.0-RC2 1.8.6 - 1.7.0-native-rc1 + 1.7.0-native-rc2 2.2.1-RC 1.0.11