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