From a3724dd09350bbf32ad570c47c40320e265857eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=95=B5=E5=95=B5?= <42901410+yult97@users.noreply.github.com> Date: Thu, 16 Mar 2023 15:00:43 +0800 Subject: [PATCH] fix:ZipkinExecutorAdapter NullPointerException handling (#1123) --- .../core/executor/support/adpter/ZipkinExecutorAdapter.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hippo4j-core/src/main/java/cn/hippo4j/core/executor/support/adpter/ZipkinExecutorAdapter.java b/hippo4j-core/src/main/java/cn/hippo4j/core/executor/support/adpter/ZipkinExecutorAdapter.java index eb344c8c..9de29d56 100644 --- a/hippo4j-core/src/main/java/cn/hippo4j/core/executor/support/adpter/ZipkinExecutorAdapter.java +++ b/hippo4j-core/src/main/java/cn/hippo4j/core/executor/support/adpter/ZipkinExecutorAdapter.java @@ -23,6 +23,7 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import java.lang.reflect.Field; import java.util.Objects; +import java.util.Optional; import java.util.concurrent.Executor; /** @@ -40,10 +41,10 @@ public class ZipkinExecutorAdapter implements DynamicThreadPoolAdapter { } public boolean matchSuper(Object executor) { - if (Objects.equals(MATCH_CLASS_NAME, executor.getClass().getName())) { + if (Objects.equals(MATCH_CLASS_NAME, Optional.ofNullable(executor).map(Object::getClass).map(Class::getName).orElse(null))) { return true; } else { - return Objects.equals(MATCH_CLASS_NAME, executor.getClass().getSuperclass().getName()); + return Objects.equals(MATCH_CLASS_NAME, Optional.ofNullable(executor).map(Object::getClass).map(Class::getSuperclass).map(Class::getName).orElse(null)); } }