This is an automated email from the ASF dual-hosted git repository. kexianjun pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/master by this push: new 165d975 [dubbo-4712] add Thread ContextClassLoader (#4767) 165d975 is described below commit 165d975dec620516768832e883b99bd3ce87d17a Author: windWheel <1817802...@qq.com> AuthorDate: Sat Aug 10 13:19:11 2019 +0800 [dubbo-4712] add Thread ContextClassLoader (#4767) fix #4712 --- .../org/apache/dubbo/metadata/integration/MetadataReportService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dubbo-metadata-report/dubbo-metadata-report-api/src/main/java/org/apache/dubbo/metadata/integration/MetadataReportService.java b/dubbo-metadata-report/dubbo-metadata-report-api/src/main/java/org/apache/dubbo/metadata/integration/MetadataReportService.java index 06d39b6..5ceb5c5 100644 --- a/dubbo-metadata-report/dubbo-metadata-report-api/src/main/java/org/apache/dubbo/metadata/integration/MetadataReportService.java +++ b/dubbo-metadata-report/dubbo-metadata-report-api/src/main/java/org/apache/dubbo/metadata/integration/MetadataReportService.java @@ -94,7 +94,8 @@ public class MetadataReportService { try { String interfaceName = providerUrl.getParameter(INTERFACE_KEY); if (StringUtils.isNotEmpty(interfaceName)) { - Class interfaceClass = Class.forName(interfaceName); + ClassLoader classLoader = null == Thread.currentThread().getContextClassLoader() ? this.getClass().getClassLoader() : Thread.currentThread().getContextClassLoader(); + Class interfaceClass = Class.forName(interfaceName, true, classLoader); FullServiceDefinition fullServiceDefinition = ServiceDefinitionBuilder.buildFullDefinition(interfaceClass, providerUrl.getParameters()); metadataReport.storeProviderMetadata(new MetadataIdentifier(providerUrl.getServiceInterface(), providerUrl.getParameter(VERSION_KEY), providerUrl.getParameter(GROUP_KEY),