From ed2c2ad7eb5616ca2d76ecf3d5fea45b37d3dee0 Mon Sep 17 00:00:00 2001 From: "Owen.Cai" <89424516@qq.com> Date: Fri, 25 Feb 2022 16:53:12 +0800 Subject: [PATCH] fix bug lazy client share_executor is null (#9701) --- .../java/org/apache/dubbo/rpc/protocol/AbstractInvoker.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/protocol/AbstractInvoker.java b/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/protocol/AbstractInvoker.java index 2c749b4518..c1193c42b4 100644 --- a/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/protocol/AbstractInvoker.java +++ b/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/protocol/AbstractInvoker.java @@ -197,6 +197,9 @@ public abstract class AbstractInvoker implements Invoker { protected ExecutorService getCallbackExecutor(URL url, Invocation inv) { ExecutorService sharedExecutor = ExtensionLoader.getExtensionLoader(ExecutorRepository.class).getDefaultExtension().getExecutor(url); if (InvokeMode.SYNC == RpcUtils.getInvokeMode(getUrl(), inv)) { + if(sharedExecutor == null) { + sharedExecutor = ExtensionLoader.getExtensionLoader(ExecutorRepository.class).getDefaultExtension().getSharedExecutor(); + } return new ThreadlessExecutor(sharedExecutor); } else { return sharedExecutor;