diff --git a/hippo4j-common/src/main/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoader.java b/hippo4j-common/src/main/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoader.java index ca4ec671..18e65657 100644 --- a/hippo4j-common/src/main/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoader.java +++ b/hippo4j-common/src/main/java/cn/hippo4j/common/spi/DynamicThreadPoolServiceLoader.java @@ -17,6 +17,7 @@ package cn.hippo4j.common.spi; +import java.lang.reflect.InvocationTargetException; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; @@ -84,9 +85,10 @@ public class DynamicThreadPoolServiceLoader { */ private static Object newServiceInstance(final Class clazz) { try { - return clazz.newInstance(); - } catch (final InstantiationException | IllegalAccessException ex) { - throw new ServiceLoaderInstantiationException(clazz, ex); + return clazz.getDeclaredConstructor().newInstance(); + } + catch (InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { + throw new ServiceLoaderInstantiationException(clazz, e); } } } diff --git a/hippo4j-common/src/main/java/cn/hippo4j/common/toolkit/MessageConvert.java b/hippo4j-common/src/main/java/cn/hippo4j/common/toolkit/MessageConvert.java index 671f61b5..fdf529f9 100644 --- a/hippo4j-common/src/main/java/cn/hippo4j/common/toolkit/MessageConvert.java +++ b/hippo4j-common/src/main/java/cn/hippo4j/common/toolkit/MessageConvert.java @@ -17,15 +17,15 @@ package cn.hippo4j.common.toolkit; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + import cn.hippo4j.common.monitor.AbstractMessage; import cn.hippo4j.common.monitor.Message; import cn.hippo4j.common.monitor.MessageWrapper; import lombok.SneakyThrows; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - /** * Message convert. */ @@ -60,7 +60,7 @@ public class MessageConvert { */ @SneakyThrows public static Message convert(MessageWrapper messageWrapper) { - AbstractMessage message = (AbstractMessage) messageWrapper.getResponseClass().newInstance(); + AbstractMessage message = (AbstractMessage) messageWrapper.getResponseClass().getDeclaredConstructor().newInstance(); List> contentParams = messageWrapper.getContentParams(); List messages = new ArrayList(); contentParams.forEach(each -> {