Merge branch 'apache-3.2' into apache-3.3

# Conflicts:
#	dubbo-dependencies-bom/pom.xml
#	dubbo-dependencies/dubbo-dependencies-zookeeper-curator5/pom.xml
#	dubbo-dependencies/dubbo-dependencies-zookeeper/pom.xml
#	dubbo-test/dubbo-test-spring/pom.xml
#	pom.xml
This commit is contained in:
Albumen Kevin 2024-06-23 19:46:55 +08:00
commit 06909275a3
9 changed files with 29 additions and 21 deletions

View File

@ -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:

View File

@ -35,7 +35,7 @@
<skip_maven_deploy>true</skip_maven_deploy>
<spring-boot.version>2.7.18</spring-boot.version>
<spring-boot-maven-plugin.version>2.7.18</spring-boot-maven-plugin.version>
<micrometer-core.version>1.13.0</micrometer-core.version>
<micrometer-core.version>1.13.1</micrometer-core.version>
</properties>
<dependencyManagement>

View File

@ -90,12 +90,12 @@
<properties>
<!-- Common libs -->
<!-- <spring_version>4.3.30.RELEASE</spring_version> -->
<spring_version>5.3.36</spring_version>
<spring_version>5.3.37</spring_version>
<spring_security_version>5.8.12</spring_security_version>
<javassist_version>3.30.2-GA</javassist_version>
<byte-buddy_version>1.14.17</byte-buddy_version>
<netty_version>3.2.10.Final</netty_version>
<netty4_version>4.1.110.Final</netty4_version>
<netty4_version>4.1.111.Final</netty4_version>
<netty_http3_version>0.0.28.Final</netty_http3_version>
<httpclient_version>4.5.14</httpclient_version>
<httpcore_version>4.4.16</httpcore_version>
@ -121,14 +121,14 @@
<snakeyaml_version>2.2</snakeyaml_version>
<commons_lang3_version>3.14.0</commons_lang3_version>
<envoy_api_version>0.1.35</envoy_api_version>
<micrometer.version>1.13.0</micrometer.version>
<micrometer.version>1.13.1</micrometer.version>
<opentelemetry.version>1.39.0</opentelemetry.version>
<zipkin-reporter.version>3.4.0</zipkin-reporter.version>
<micrometer-tracing.version>1.3.0</micrometer-tracing.version>
<micrometer-tracing.version>1.3.1</micrometer-tracing.version>
<t_digest.version>3.3</t_digest.version>
<prometheus_client.version>0.16.0</prometheus_client.version>
<reactive.version>1.0.4</reactive.version>
<reactor.version>3.6.6</reactor.version>
<reactor.version>3.6.7</reactor.version>
<rxjava.version>2.2.21</rxjava.version>
<okhttp_version>3.14.9</okhttp_version>

View File

@ -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<T> extends AbstractInvoker<T> {
}
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<T> extends AbstractInvoker<T> {
}
return value;
} finally {
Thread.currentThread().setContextClassLoader(cl);
Thread.currentThread().setContextClassLoader(contextClassLoader);
}
}

View File

@ -36,8 +36,8 @@
</modules>
<properties>
<micrometer.version>1.13.0</micrometer.version>
<micrometer-tracing.version>1.3.0</micrometer-tracing.version>
<micrometer.version>1.13.1</micrometer.version>
<micrometer-tracing.version>1.3.1</micrometer-tracing.version>
<opentelemetry.version>1.39.0</opentelemetry.version>
<zipkin-reporter.version>3.4.0</zipkin-reporter.version>
<prometheus-client.version>0.16.0</prometheus-client.version>

View File

@ -28,7 +28,7 @@
<properties>
<skip_maven_deploy>true</skip_maven_deploy>
<spring_version>5.3.36</spring_version>
<spring_version>5.3.37</spring_version>
</properties>
<dependencyManagement>

View File

@ -28,7 +28,7 @@
<properties>
<skip_maven_deploy>true</skip_maven_deploy>
<spring_version>5.3.36</spring_version>
<spring_version>5.3.37</spring_version>
</properties>
<dependencyManagement>

View File

@ -28,7 +28,7 @@
<properties>
<skip_maven_deploy>true</skip_maven_deploy>
<spring_version>5.3.36</spring_version>
<spring_version>5.3.37</spring_version>
</properties>
<dependencyManagement>

View File

@ -130,8 +130,8 @@
<!-- Maven plugins -->
<maven_jar_version>3.4.1</maven_jar_version>
<maven_surefire_version>3.2.5</maven_surefire_version>
<maven_failsafe_version>3.2.5</maven_failsafe_version>
<maven_surefire_version>3.3.0</maven_surefire_version>
<maven_failsafe_version>3.3.0</maven_failsafe_version>
<maven_deploy_version>2.8.2</maven_deploy_version>
<maven_compiler_version>3.13.0</maven_compiler_version>
<maven_source_version>3.3.1</maven_source_version>
@ -255,7 +255,7 @@
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.6.1</version>
<version>3.7.0</version>
</plugin>
<plugin>
<!-- Do NOT upgrade -->
@ -410,7 +410,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>3.0.1</version>
<version>3.1.0</version>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
<useReleaseProfile>false</useReleaseProfile>