From 772f1d2e82aa97e47d0e04f81dc822f35e3e0d02 Mon Sep 17 00:00:00 2001 From: "Xin,Zhang" Date: Thu, 1 Oct 2020 12:56:28 +0800 Subject: [PATCH] Replace Class.newInstance() with getDeclaredConstructor().newInstance() (#5600) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 吴晟 Wu Sheng --- .../apm/commons/datacarrier/consumer/ConsumeDriver.java | 7 ++++++- .../apm/plugin/asf/dubbo/patch/MakeWrapperInterceptor.java | 2 +- .../apm/plugin/dubbo/patch/MakeWrapperInterceptor.java | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/apm-commons/apm-datacarrier/src/main/java/org/apache/skywalking/apm/commons/datacarrier/consumer/ConsumeDriver.java b/apm-commons/apm-datacarrier/src/main/java/org/apache/skywalking/apm/commons/datacarrier/consumer/ConsumeDriver.java index 4f01f32f97..e82277ef3d 100644 --- a/apm-commons/apm-datacarrier/src/main/java/org/apache/skywalking/apm/commons/datacarrier/consumer/ConsumeDriver.java +++ b/apm-commons/apm-datacarrier/src/main/java/org/apache/skywalking/apm/commons/datacarrier/consumer/ConsumeDriver.java @@ -18,6 +18,7 @@ package org.apache.skywalking.apm.commons.datacarrier.consumer; +import java.lang.reflect.InvocationTargetException; import java.util.concurrent.locks.ReentrantLock; import org.apache.skywalking.apm.commons.datacarrier.buffer.Channels; @@ -58,13 +59,17 @@ public class ConsumeDriver implements IDriver { private IConsumer getNewConsumerInstance(Class> consumerClass) { try { - IConsumer inst = consumerClass.newInstance(); + IConsumer inst = consumerClass.getDeclaredConstructor().newInstance(); inst.init(); return inst; } catch (InstantiationException e) { throw new ConsumerCannotBeCreatedException(e); } catch (IllegalAccessException e) { throw new ConsumerCannotBeCreatedException(e); + } catch (NoSuchMethodException e) { + throw new ConsumerCannotBeCreatedException(e); + } catch (InvocationTargetException e) { + throw new ConsumerCannotBeCreatedException(e); } } diff --git a/apm-sniffer/apm-sdk-plugin/dubbo-2.7.x-conflict-patch/src/main/java/org/apache/skywalking/apm/plugin/asf/dubbo/patch/MakeWrapperInterceptor.java b/apm-sniffer/apm-sdk-plugin/dubbo-2.7.x-conflict-patch/src/main/java/org/apache/skywalking/apm/plugin/asf/dubbo/patch/MakeWrapperInterceptor.java index 2ad4447739..2d05deca40 100644 --- a/apm-sniffer/apm-sdk-plugin/dubbo-2.7.x-conflict-patch/src/main/java/org/apache/skywalking/apm/plugin/asf/dubbo/patch/MakeWrapperInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/dubbo-2.7.x-conflict-patch/src/main/java/org/apache/skywalking/apm/plugin/asf/dubbo/patch/MakeWrapperInterceptor.java @@ -252,7 +252,7 @@ public class MakeWrapperInterceptor implements StaticMethodsAroundInterceptor { int ix = 0; for (Method m : ms.values()) wc.getField("mts" + ix++).set(null, m.getParameterTypes()); - return (Wrapper) wc.newInstance(); + return (Wrapper) wc.getDeclaredConstructor().newInstance(); } catch (RuntimeException e) { throw e; } catch (Throwable e) { diff --git a/apm-sniffer/apm-sdk-plugin/dubbo-conflict-patch/src/main/java/org/apache/skywalking/apm/plugin/dubbo/patch/MakeWrapperInterceptor.java b/apm-sniffer/apm-sdk-plugin/dubbo-conflict-patch/src/main/java/org/apache/skywalking/apm/plugin/dubbo/patch/MakeWrapperInterceptor.java index cb07ac3441..4119b8f514 100644 --- a/apm-sniffer/apm-sdk-plugin/dubbo-conflict-patch/src/main/java/org/apache/skywalking/apm/plugin/dubbo/patch/MakeWrapperInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/dubbo-conflict-patch/src/main/java/org/apache/skywalking/apm/plugin/dubbo/patch/MakeWrapperInterceptor.java @@ -252,7 +252,7 @@ public class MakeWrapperInterceptor implements StaticMethodsAroundInterceptor { int ix = 0; for (Method m : ms.values()) wc.getField("mts" + ix++).set(null, m.getParameterTypes()); - return (Wrapper) wc.newInstance(); + return (Wrapper) wc.getDeclaredConstructor().newInstance(); } catch (RuntimeException e) { throw e; } catch (Throwable e) { -- GitLab