diff --git a/.github/workflows/build-and-test-scheduled-3.3.yml b/.github/workflows/build-and-test-scheduled-3.3.yml index 2ba459be6a..08673d0d56 100644 --- a/.github/workflows/build-and-test-scheduled-3.3.yml +++ b/.github/workflows/build-and-test-scheduled-3.3.yml @@ -43,7 +43,7 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'zulu' - java-version: 8 + java-version: 21 - uses: actions/cache@v3 name: "Cache local Maven repository" with: diff --git a/dubbo-demo/dubbo-demo-spring-boot/pom.xml b/dubbo-demo/dubbo-demo-spring-boot/pom.xml index 2d63b81e5e..5396c1e0fc 100644 --- a/dubbo-demo/dubbo-demo-spring-boot/pom.xml +++ b/dubbo-demo/dubbo-demo-spring-boot/pom.xml @@ -35,7 +35,7 @@ true 2.7.18 2.7.18 - 1.13.0 + 1.13.1 diff --git a/dubbo-dependencies-bom/pom.xml b/dubbo-dependencies-bom/pom.xml index 7781cbf37c..92bdd8bbe4 100644 --- a/dubbo-dependencies-bom/pom.xml +++ b/dubbo-dependencies-bom/pom.xml @@ -90,12 +90,12 @@ - 5.3.36 + 5.3.37 5.8.12 3.30.2-GA 1.14.17 3.2.10.Final - 4.1.110.Final + 4.1.111.Final 0.0.28.Final 4.5.14 4.4.16 @@ -121,14 +121,14 @@ 2.2 3.14.0 0.1.35 - 1.13.0 + 1.13.1 1.39.0 3.4.0 - 1.3.0 + 1.3.1 3.3 0.16.0 1.0.4 - 3.6.6 + 3.6.7 2.2.21 3.14.9 @@ -186,7 +186,7 @@ check 1.0.0 2.38.0 - 3.3.0-beta.4-SNAPSHOT + 3.3.0-beta.5-SNAPSHOT 3.1.5 4.0.1 2.3.3-b02 diff --git a/dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml b/dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml index 0577d9d0ae..afdc096434 100644 --- a/dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml +++ b/dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml @@ -31,7 +31,7 @@ pom - 3.3.0-beta.4-SNAPSHOT + 3.3.0-beta.5-SNAPSHOT 1.6.0 1.7.36 5.1.0 diff --git a/dubbo-rpc/dubbo-rpc-injvm/src/main/java/org/apache/dubbo/rpc/protocol/injvm/InjvmInvoker.java b/dubbo-rpc/dubbo-rpc-injvm/src/main/java/org/apache/dubbo/rpc/protocol/injvm/InjvmInvoker.java index 1539545086..c23f01e99e 100644 --- a/dubbo-rpc/dubbo-rpc-injvm/src/main/java/org/apache/dubbo/rpc/protocol/injvm/InjvmInvoker.java +++ b/dubbo-rpc/dubbo-rpc-injvm/src/main/java/org/apache/dubbo/rpc/protocol/injvm/InjvmInvoker.java @@ -37,6 +37,7 @@ import org.apache.dubbo.rpc.Result; import org.apache.dubbo.rpc.RpcContext; import org.apache.dubbo.rpc.RpcException; import org.apache.dubbo.rpc.RpcInvocation; +import org.apache.dubbo.rpc.model.ConsumerModel; import org.apache.dubbo.rpc.model.MethodDescriptor; import org.apache.dubbo.rpc.model.ServiceModel; import org.apache.dubbo.rpc.protocol.AbstractInvoker; @@ -318,11 +319,18 @@ public class InjvmInvoker extends AbstractInvoker { } Object value = originValue; - ClassLoader cl = Thread.currentThread().getContextClassLoader(); + ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader(); try { - ServiceModel consumerServiceModel = getUrl().getServiceModel(); - if (consumerServiceModel != null) { - Thread.currentThread().setContextClassLoader(consumerServiceModel.getClassLoader()); + // 1. By default, the classloader of the current Thread is the consumer class loader. + ClassLoader consumerClassLoader = contextClassLoader; + ServiceModel serviceModel = getUrl().getServiceModel(); + // 2. If there is a ConsumerModel in the url, the classloader of the ConsumerModel is consumerLoader + if (Objects.nonNull(serviceModel) && serviceModel instanceof ConsumerModel) { + consumerClassLoader = serviceModel.getClassLoader(); + } + // 3. request result copy + if (Objects.nonNull(consumerClassLoader)) { + Thread.currentThread().setContextClassLoader(consumerClassLoader); Type[] returnTypes = RpcUtils.getReturnTypes(invocation); if (returnTypes == null) { return originValue; @@ -335,7 +343,7 @@ public class InjvmInvoker extends AbstractInvoker { } return value; } finally { - Thread.currentThread().setContextClassLoader(cl); + Thread.currentThread().setContextClassLoader(contextClassLoader); } } diff --git a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/pom.xml b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/pom.xml index 8c77502e37..5079e56547 100644 --- a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/pom.xml +++ b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/pom.xml @@ -36,8 +36,8 @@ - 1.13.0 - 1.3.0 + 1.13.1 + 1.3.1 1.39.0 3.4.0 0.16.0 diff --git a/dubbo-test/dubbo-test-spring3.2/pom.xml b/dubbo-test/dubbo-test-spring3.2/pom.xml index ad9b29c49e..0262548731 100644 --- a/dubbo-test/dubbo-test-spring3.2/pom.xml +++ b/dubbo-test/dubbo-test-spring3.2/pom.xml @@ -28,7 +28,7 @@ true - 5.3.36 + 5.3.37 diff --git a/dubbo-test/dubbo-test-spring4.1/pom.xml b/dubbo-test/dubbo-test-spring4.1/pom.xml index c35c267069..8be91cbc4b 100644 --- a/dubbo-test/dubbo-test-spring4.1/pom.xml +++ b/dubbo-test/dubbo-test-spring4.1/pom.xml @@ -28,7 +28,7 @@ true - 5.3.36 + 5.3.37 diff --git a/dubbo-test/dubbo-test-spring4.2/pom.xml b/dubbo-test/dubbo-test-spring4.2/pom.xml index 2b17053806..65ed74793a 100644 --- a/dubbo-test/dubbo-test-spring4.2/pom.xml +++ b/dubbo-test/dubbo-test-spring4.2/pom.xml @@ -28,7 +28,7 @@ true - 5.3.36 + 5.3.37 diff --git a/pom.xml b/pom.xml index 438bf40857..373ca95957 100644 --- a/pom.xml +++ b/pom.xml @@ -130,8 +130,8 @@ 3.4.1 - 3.2.5 - 3.2.5 + 3.3.0 + 3.3.0 2.8.2 3.13.0 3.3.1 @@ -152,7 +152,7 @@ 1.0.0 2.38.0 - 3.3.0-beta.4-SNAPSHOT + 3.3.0-beta.5-SNAPSHOT @@ -255,7 +255,7 @@ maven-dependency-plugin - 3.6.1 + 3.7.0 @@ -410,7 +410,7 @@ org.apache.maven.plugins maven-release-plugin - 3.0.1 + 3.1.0 true false