diff --git a/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/classloader/DynamicClassLoaderFactory.java b/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/classloader/DynamicClassLoaderFactory.java index 466185a3ecdb..4fe934dad2ff 100644 --- a/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/classloader/DynamicClassLoaderFactory.java +++ b/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/classloader/DynamicClassLoaderFactory.java @@ -36,9 +36,8 @@ private static Constructor getConstructor(String classLoa try { final Class classLoaderClazz = (Class) Class.forName(classLoaderName, true, classLoader); - Constructor constructor = classLoaderClazz.getDeclaredConstructor(String.class, URL[].class, ClassLoader.class, List.class); - return constructor; - } catch (Exception ex) { + return classLoaderClazz.getDeclaredConstructor(String.class, URL[].class, ClassLoader.class, List.class); + } catch (ReflectiveOperationException ex) { throw new IllegalStateException(classLoaderName + " initialize fail Caused by:" + ex.getMessage(), ex); } } @@ -48,7 +47,7 @@ private static Constructor getConstructor(String classLoa public ClassLoader createClassLoader(String name, URL[] urls, ClassLoader parent, List libClass) { try { return constructor.newInstance(name, urls, parent, libClass); - } catch (Exception ex) { + } catch (ReflectiveOperationException ex) { throw new IllegalStateException(constructor + " invoke fail Caused by:" + ex.getMessage(), ex); } } diff --git a/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/classloader/PinpointClassLoaderFactory.java b/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/classloader/PinpointClassLoaderFactory.java index a399fc361c67..8a76974d42e5 100644 --- a/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/classloader/PinpointClassLoaderFactory.java +++ b/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/classloader/PinpointClassLoaderFactory.java @@ -75,7 +75,7 @@ private static ClassLoaderFactory newParallelClassLoaderFactory() { (Class) Class.forName(PARALLEL_CLASS_LOADER_FACTORY, true, classLoader); Constructor constructor = classLoaderFactoryClazz.getDeclaredConstructor(); return constructor.newInstance(); - } catch (Exception e) { + } catch (ReflectiveOperationException e) { throw new IllegalStateException(PARALLEL_CLASS_LOADER_FACTORY + " create fail Caused by:" + e.getMessage(), e); } } diff --git a/bootstraps/bootstrap/src/main/java/com/navercorp/pinpoint/bootstrap/ModuleBootLoader.java b/bootstraps/bootstrap/src/main/java/com/navercorp/pinpoint/bootstrap/ModuleBootLoader.java index 65a9d57ae81c..7bb70983618f 100644 --- a/bootstraps/bootstrap/src/main/java/com/navercorp/pinpoint/bootstrap/ModuleBootLoader.java +++ b/bootstraps/bootstrap/src/main/java/com/navercorp/pinpoint/bootstrap/ModuleBootLoader.java @@ -79,7 +79,7 @@ private Object newModuleSupportFactory(Class bootStrapClass) { try { Constructor constructor = bootStrapClass.getDeclaredConstructor(); return constructor.newInstance(); - } catch (Exception e) { + } catch (ReflectiveOperationException e) { throw new IllegalStateException("ModuleSupportFactory() initialize fail", e); } } diff --git a/plugins/tomcat/src/main/java/com/navercorp/pinpoint/plugin/tomcat/interceptor/WebappLoaderStartInterceptor.java b/plugins/tomcat/src/main/java/com/navercorp/pinpoint/plugin/tomcat/interceptor/WebappLoaderStartInterceptor.java index e95e1f26b318..8551c04dfc25 100644 --- a/plugins/tomcat/src/main/java/com/navercorp/pinpoint/plugin/tomcat/interceptor/WebappLoaderStartInterceptor.java +++ b/plugins/tomcat/src/main/java/com/navercorp/pinpoint/plugin/tomcat/interceptor/WebappLoaderStartInterceptor.java @@ -16,17 +16,11 @@ package com.navercorp.pinpoint.plugin.tomcat.interceptor; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - import com.navercorp.pinpoint.bootstrap.context.ServerMetaDataHolder; +import com.navercorp.pinpoint.bootstrap.context.TraceContext; +import com.navercorp.pinpoint.bootstrap.interceptor.AroundInterceptor; +import com.navercorp.pinpoint.bootstrap.logging.PLogger; +import com.navercorp.pinpoint.bootstrap.logging.PLoggerFactory; import com.navercorp.pinpoint.common.util.StringUtils; import org.apache.catalina.Container; import org.apache.catalina.Context; @@ -34,10 +28,14 @@ import org.apache.catalina.Host; import org.apache.catalina.loader.WebappLoader; -import com.navercorp.pinpoint.bootstrap.context.TraceContext; -import com.navercorp.pinpoint.bootstrap.interceptor.AroundInterceptor; -import com.navercorp.pinpoint.bootstrap.logging.PLogger; -import com.navercorp.pinpoint.bootstrap.logging.PLoggerFactory; +import java.lang.reflect.Method; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; /** * @author hyungil.jeong @@ -77,7 +75,6 @@ public void after(Object target, Object[] args, Object result, Throwable throwab } private String extractContextKey(WebappLoader webappLoader) { - final String defaultContextName = ""; try { Container container = extractContext(webappLoader); // WebappLoader's associated Container should be a Context. @@ -94,17 +91,17 @@ private String extractContextKey(WebappLoader webappLoader) { sb.append(contextName); return sb.toString(); } - } catch (Exception e) { + } catch (ReflectiveOperationException e) { // Same action for any and all exceptions. logger.warn("Error extracting context name.", e); } - return defaultContextName; + return ""; } // FIXME Use reflection until we provide separate packages for instrumented libraries. // Tomcat 8's WebappLoader does not have getContainer() method. // Providing an optional package that calls WebappLoader.getContext() method could be an option. - private Container extractContext(WebappLoader webappLoader) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { + private Container extractContext(WebappLoader webappLoader) throws ReflectiveOperationException { Method m; try { // Tomcat 6, 7 - org.apache.catalina.loader.getContainer() diff --git a/profiler-optional/profiler-optional-jdk8/src/test/java/com/navercorp/pinpoint/profiler/instrument/lambda/LambdaFactoryTest.java b/profiler-optional/profiler-optional-jdk8/src/test/java/com/navercorp/pinpoint/profiler/instrument/lambda/LambdaFactoryTest.java index 9f00ba2ea0af..b89c50e39317 100644 --- a/profiler-optional/profiler-optional-jdk8/src/test/java/com/navercorp/pinpoint/profiler/instrument/lambda/LambdaFactoryTest.java +++ b/profiler-optional/profiler-optional-jdk8/src/test/java/com/navercorp/pinpoint/profiler/instrument/lambda/LambdaFactoryTest.java @@ -37,7 +37,6 @@ import java.io.IOException; import java.io.InputStream; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Arrays; import java.util.List; @@ -65,7 +64,7 @@ public void dumpInnerClassLamdbaMetaFactory() throws IOException { @Test - public void transformTest() throws IOException, NoSuchMethodException, IllegalAccessException, InstantiationException, InvocationTargetException { + public void transformTest() throws IOException, ReflectiveOperationException { ClassLoader classLoader = this.getClass().getClassLoader(); String name = JavaAssistUtils.javaClassNameToJvmResourceName(UnsafeClassMock.class.getName()); diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/javamodule/JavaModuleFactoryFinder.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/javamodule/JavaModuleFactoryFinder.java index 1f660498c0bc..c69ea506676e 100644 --- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/javamodule/JavaModuleFactoryFinder.java +++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/javamodule/JavaModuleFactoryFinder.java @@ -37,7 +37,7 @@ public static JavaModuleFactory lookup(Instrumentation instrumentation) { try { Constructor constructor = javaModuleFactory.getDeclaredConstructor(Instrumentation.class); return constructor.newInstance(instrumentation); - } catch (Exception e) { + } catch (ReflectiveOperationException e) { throw new IllegalStateException("JavaModuleFactory() invoke fail Caused by:" + e.getMessage(), e); } } diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/DefaultApplicationContext.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/DefaultApplicationContext.java index e4a0b99f4a7b..d4689f13cd83 100644 --- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/DefaultApplicationContext.java +++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/DefaultApplicationContext.java @@ -149,7 +149,7 @@ private ClassFileTransformer wrapJava9ClassFileTransformer(ClassFileTransformMod Class cftClass = (Class) forName(moduleWrap, Object.class.getClassLoader()); Constructor constructor = cftClass.getDeclaredConstructor(ClassFileTransformModuleAdaptor.class); return constructor.newInstance(classFileTransformer); - } catch (Exception e) { + } catch (ReflectiveOperationException e) { throw new IllegalStateException(moduleWrap + " load fail Caused by:" + e.getMessage(), e); } } diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/DefaultModuleFactoryResolver.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/DefaultModuleFactoryResolver.java index 8b63b08242d9..84e99fbce524 100644 --- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/DefaultModuleFactoryResolver.java +++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/module/DefaultModuleFactoryResolver.java @@ -18,8 +18,8 @@ import com.navercorp.pinpoint.common.util.StringUtils; import com.navercorp.pinpoint.exception.PinpointException; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.lang.reflect.Constructor; import java.util.Objects; @@ -71,7 +71,7 @@ public ModuleFactory resolve() { (Class) Class.forName(moduleFactoryClazzName, true, classLoader); Constructor constructor = moduleFactoryClass.getConstructor(); return constructor.newInstance(); - } catch (Exception ex) { + } catch (ReflectiveOperationException ex) { logger.warn("{} ModuleFactory initialize fail", moduleFactoryClazzName, ex); throw new PinpointException(moduleFactoryClazzName + " ModuleFactory initialize fail", ex); } diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/ShutdownHookRegisterProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/ShutdownHookRegisterProvider.java index fc4681a9fa30..dfa5f0ddd4c3 100644 --- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/ShutdownHookRegisterProvider.java +++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/ShutdownHookRegisterProvider.java @@ -22,8 +22,8 @@ import com.navercorp.pinpoint.common.util.JvmVersion; import com.navercorp.pinpoint.profiler.ShutdownHookRegister; import com.navercorp.pinpoint.profiler.context.config.ContextConfig; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.lang.reflect.Constructor; import java.util.Objects; @@ -105,7 +105,7 @@ private ShutdownHookRegister createShutdownHookRegister(String classToLoad) { logger.warn("Unknown ShutdownHookRegister : {}", classToLoad); return RUNTIME_SHUTDOWN_HOOK_REGISTER; } - } catch (Exception e) { + } catch (ReflectiveOperationException e) { logger.warn("Error creating ShutdownHookRegister [" + classToLoad + "]", e); } return RUNTIME_SHUTDOWN_HOOK_REGISTER; diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/stat/buffer/BufferMetricProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/stat/buffer/BufferMetricProvider.java index 3697861a1e49..bede5c6c5d29 100644 --- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/stat/buffer/BufferMetricProvider.java +++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/stat/buffer/BufferMetricProvider.java @@ -19,8 +19,8 @@ import com.google.inject.Inject; import com.google.inject.Provider; import com.navercorp.pinpoint.profiler.monitor.metric.buffer.BufferMetric; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.lang.reflect.Constructor; @@ -53,7 +53,7 @@ private BufferMetric createBufferMetric(String classToLoad) { Class bufferMetricClass = (Class) Class.forName(classToLoad); Constructor bufferMetricConstructor = bufferMetricClass.getConstructor(); return bufferMetricConstructor.newInstance(); - } catch (Exception e) { + } catch (ReflectiveOperationException e) { logger.warn("BufferMetric initialize fail: {}", classToLoad); return BufferMetric.UNSUPPORTED_BUFFER_METRIC; } diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/stat/cpu/CpuLoadMetricProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/stat/cpu/CpuLoadMetricProvider.java index e4b94955786f..f7b03730e5bf 100644 --- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/stat/cpu/CpuLoadMetricProvider.java +++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/stat/cpu/CpuLoadMetricProvider.java @@ -22,8 +22,8 @@ import com.navercorp.pinpoint.common.util.JvmUtils; import com.navercorp.pinpoint.profiler.context.config.ContextConfig; import com.navercorp.pinpoint.profiler.monitor.metric.cpu.CpuLoadMetric; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.lang.reflect.Constructor; import java.util.Objects; @@ -85,7 +85,7 @@ private CpuLoadMetric createCpuLoadMetric(String classToLoad) { logger.warn("Unknown CpuLoadMetric : {}", classToLoad); return CpuLoadMetric.UNSUPPORTED_CPU_LOAD_METRIC; } - } catch (Exception e) { + } catch (ReflectiveOperationException e) { logger.warn("Error creating CpuLoadMetric [" + classToLoad + "]"); return CpuLoadMetric.UNSUPPORTED_CPU_LOAD_METRIC; } diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/stat/filedescriptor/FileDescriptorMetricProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/stat/filedescriptor/FileDescriptorMetricProvider.java index 85d62cf1f69f..4c0683d23c20 100644 --- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/stat/filedescriptor/FileDescriptorMetricProvider.java +++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/context/provider/stat/filedescriptor/FileDescriptorMetricProvider.java @@ -26,8 +26,8 @@ import com.navercorp.pinpoint.common.util.OsUtils; import com.navercorp.pinpoint.profiler.context.config.ContextConfig; import com.navercorp.pinpoint.profiler.monitor.metric.filedescriptor.FileDescriptorMetric; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.lang.reflect.Constructor; import java.util.EnumSet; @@ -135,7 +135,7 @@ private FileDescriptorMetric createFileDescriptorMetric(String classToLoad) { logger.warn("Unknown FileDescriptorMetric : {}", classToLoad); return FileDescriptorMetric.UNSUPPORTED_FILE_DESCRIPTOR_METRIC; } - } catch (Exception e) { + } catch (ReflectiveOperationException e) { logger.warn("Error creating FileDescriptorMetric [{}]", classToLoad); return FileDescriptorMetric.UNSUPPORTED_FILE_DESCRIPTOR_METRIC; } diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/DefineClassFactory.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/DefineClassFactory.java index 1c1bf43a7ee0..c33fd75d357d 100644 --- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/DefineClassFactory.java +++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/DefineClassFactory.java @@ -36,7 +36,7 @@ private static DefineClass newDefineClass() { Class defineClassClazz = (Class) agentClassLoader.loadClass(name); Constructor constructor = defineClassClazz.getDeclaredConstructor(); return constructor.newInstance(); - } catch (Exception e) { + } catch (ReflectiveOperationException e) { throw new IllegalStateException(name + " create fail Caused by:" + e.getMessage(), e); } } diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/ReflectionDefineClass.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/ReflectionDefineClass.java index 6ac0a8d7e6ec..a02a4a4d322d 100644 --- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/ReflectionDefineClass.java +++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/ReflectionDefineClass.java @@ -16,10 +16,9 @@ package com.navercorp.pinpoint.profiler.instrument.classloading; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; /** @@ -34,7 +33,7 @@ final class ReflectionDefineClass implements DefineClass { try { DEFINE_CLASS = ClassLoader.class.getDeclaredMethod("defineClass", String.class, byte[].class, int.class, int.class); DEFINE_CLASS.setAccessible(true); - } catch (Exception e) { + } catch (ReflectiveOperationException e) { throw new IllegalStateException("Cannot access ClassLoader.defineClass(String, byte[], int, int)", e); } } @@ -46,9 +45,7 @@ public Class defineClass(ClassLoader classLoader, String name, byte[] bytes) } try { return (Class) DEFINE_CLASS.invoke(classLoader, name, bytes, 0, bytes.length); - } catch (IllegalAccessException e) { - throw handleDefineClassFail(classLoader, name, e); - } catch (InvocationTargetException e) { + } catch (ReflectiveOperationException e) { throw handleDefineClassFail(classLoader, name, e); } } diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/URLClassLoaderHandler.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/URLClassLoaderHandler.java index 37ddfc55b569..95ecf5d82f17 100644 --- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/URLClassLoaderHandler.java +++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/classloading/URLClassLoaderHandler.java @@ -16,17 +16,16 @@ package com.navercorp.pinpoint.profiler.instrument.classloading; -import java.util.Objects; import com.navercorp.pinpoint.exception.PinpointException; import com.navercorp.pinpoint.profiler.plugin.PluginConfig; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.io.InputStream; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; +import java.util.Objects; /** * @author Woonduk Kang(emeroad) @@ -43,7 +42,7 @@ public class URLClassLoaderHandler implements ClassInjector { try { ADD_URL = URLClassLoader.class.getDeclaredMethod("addURL", URL.class); ADD_URL.setAccessible(true); - } catch (Exception e) { + } catch (ReflectiveOperationException e) { throw new IllegalStateException("Cannot access URLClassLoader.addURL(URL)", e); } } @@ -63,7 +62,7 @@ public Class injectClass(ClassLoader classLoader, String classN addPluginURLIfAbsent(urlClassLoader); return (Class) urlClassLoader.loadClass(className); } - } catch (Exception e) { + } catch (ReflectiveOperationException e) { logger.warn("Failed to load plugin class {} with classLoader {}", className, classLoader, e); throw new PinpointException("Failed to load plugin class " + className + " with classLoader " + classLoader, e); } @@ -78,14 +77,14 @@ public InputStream getResourceAsStream(ClassLoader targetClassLoader, String int addPluginURLIfAbsent(urlClassLoader); return targetClassLoader.getResourceAsStream(internalName); } - } catch (Exception e) { + } catch (ReflectiveOperationException e) { logger.warn("Failed to load plugin resource as stream {} with classLoader {}", internalName, targetClassLoader, e); return null; } return null; } - private void addPluginURLIfAbsent(URLClassLoader classLoader) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { + private void addPluginURLIfAbsent(URLClassLoader classLoader) throws ReflectiveOperationException { final URL[] urls = classLoader.getURLs(); if (urls != null) { final boolean hasPluginJar = hasPluginJar(urls); diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/lambda/LambdaTransformBootloader.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/lambda/LambdaTransformBootloader.java index 4c192c6731a8..5066f5f5a93f 100644 --- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/lambda/LambdaTransformBootloader.java +++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/lambda/LambdaTransformBootloader.java @@ -23,13 +23,11 @@ import com.navercorp.pinpoint.common.util.JvmVersion; import com.navercorp.pinpoint.profiler.instrument.transformer.InnerClassLambdaMetafactoryTransformer; import com.navercorp.pinpoint.profiler.util.JavaAssistUtils; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; - +import org.apache.logging.log4j.Logger; import java.lang.instrument.ClassFileTransformer; import java.lang.instrument.Instrumentation; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; /** @@ -98,7 +96,7 @@ private String getDelegatorName() { } } - private void invoke(final LambdaBytecodeHandler lambdaBytecodeHandler, Class clazz) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { + private void invoke(final LambdaBytecodeHandler lambdaBytecodeHandler, Class clazz) throws ReflectiveOperationException { final Method register = clazz.getMethod("register", LambdaBytecodeHandler.class); final boolean success = (Boolean) register.invoke(clazz, lambdaBytecodeHandler); if (success) { diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/transformer/InnerClassLambdaMetafactoryTransformer.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/transformer/InnerClassLambdaMetafactoryTransformer.java index 30b0a9103f60..7233b9d6f304 100644 --- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/transformer/InnerClassLambdaMetafactoryTransformer.java +++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/instrument/transformer/InnerClassLambdaMetafactoryTransformer.java @@ -16,8 +16,8 @@ package com.navercorp.pinpoint.profiler.instrument.transformer; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.lang.instrument.ClassFileTransformer; import java.lang.instrument.IllegalClassFormatException; @@ -44,7 +44,7 @@ public InnerClassLambdaMetafactoryTransformer() { final Constructor constructor = lambdaAdaptor.getConstructor(); this.lambdaFactoryClassAdaptor = constructor.newInstance(); this.transformMethod = lambdaAdaptor.getMethod("loadTransformedBytecode", byte[].class); - } catch (Exception e) { + } catch (ReflectiveOperationException e) { throw new IllegalStateException("LambdaFactoryClassAdaptor initialize fail Caused by:" + e.getMessage(), e); } } diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/objectfactory/AutoBindingObjectFactory.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/objectfactory/AutoBindingObjectFactory.java index ddb0da60a7fe..e3bc90f7e646 100644 --- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/objectfactory/AutoBindingObjectFactory.java +++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/objectfactory/AutoBindingObjectFactory.java @@ -14,23 +14,22 @@ */ package com.navercorp.pinpoint.profiler.objectfactory; -import java.lang.reflect.Constructor; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Objects; - import com.navercorp.pinpoint.bootstrap.config.ProfilerConfig; import com.navercorp.pinpoint.bootstrap.context.TraceContext; import com.navercorp.pinpoint.bootstrap.instrument.InstrumentContext; -import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.LogManager; - import com.navercorp.pinpoint.bootstrap.plugin.ObjectFactory; import com.navercorp.pinpoint.bootstrap.plugin.ObjectFactory.ByConstructor; import com.navercorp.pinpoint.bootstrap.plugin.ObjectFactory.ByStaticFactoryMethod; import com.navercorp.pinpoint.exception.PinpointException; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.lang.reflect.Constructor; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; /** * @author Jongho Moon @@ -98,7 +97,7 @@ private Object byConstructor(Class type, ArgumentsResolver argumentsResolver) try { return constructor.newInstance(resolvedArguments); - } catch (Exception e) { + } catch (ReflectiveOperationException e) { throw new PinpointException("Fail to invoke constructor: " + constructor + ", arguments: " + Arrays.toString(resolvedArguments), e); } } @@ -119,7 +118,7 @@ private Object byStaticFactoryMethod(Class type, ByStaticFactoryMethod static try { return method.invoke(null, resolvedArguments); - } catch (Exception e) { + } catch (ReflectiveOperationException e) { throw new PinpointException("Fail to invoke factory method: " + type.getName() + "." + staticFactoryMethod.getFactoryMethodName() + ", arguments: " + Arrays.toString(resolvedArguments), e); } diff --git a/profiler/src/main/java/com/navercorp/pinpoint/profiler/plugin/DynamicTransformCallbackProvider.java b/profiler/src/main/java/com/navercorp/pinpoint/profiler/plugin/DynamicTransformCallbackProvider.java index 6870fd0d3ab4..14987ddcea24 100644 --- a/profiler/src/main/java/com/navercorp/pinpoint/profiler/plugin/DynamicTransformCallbackProvider.java +++ b/profiler/src/main/java/com/navercorp/pinpoint/profiler/plugin/DynamicTransformCallbackProvider.java @@ -18,10 +18,10 @@ import com.navercorp.pinpoint.bootstrap.instrument.InstrumentContext; import com.navercorp.pinpoint.bootstrap.instrument.transformer.TransformCallback; -import java.util.Objects; import com.navercorp.pinpoint.exception.PinpointException; import java.lang.reflect.Constructor; +import java.util.Objects; /** * @author Woonduk Kang(emeroad) @@ -49,7 +49,7 @@ public TransformCallback getTransformCallback(InstrumentContext instrumentContex final Class transformCallbackClass = instrumentContext.injectClass(loader, transformCallbackClassName); Constructor constructor = transformCallbackClass.getConstructor(parameterTypes); return constructor.newInstance(parameters); - } catch (Exception e) { + } catch (ReflectiveOperationException e) { throw new PinpointException(transformCallbackClassName + " load fail Caused by:" + e.getMessage(), e); } } diff --git a/test/src/main/java/com/navercorp/pinpoint/test/plugin/shared/ReflectionDependencyResolver.java b/test/src/main/java/com/navercorp/pinpoint/test/plugin/shared/ReflectionDependencyResolver.java index b7c5e5afac72..8e83d4604e5b 100644 --- a/test/src/main/java/com/navercorp/pinpoint/test/plugin/shared/ReflectionDependencyResolver.java +++ b/test/src/main/java/com/navercorp/pinpoint/test/plugin/shared/ReflectionDependencyResolver.java @@ -20,7 +20,6 @@ import com.navercorp.pinpoint.test.plugin.util.ThreadContextCallable; import java.io.File; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.List; import java.util.Objects; @@ -71,7 +70,7 @@ public List call() throws Exception { } } - private void initialize() throws ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException { + private void initialize() throws ReflectiveOperationException { Class factory = classLoader.loadClass("com.navercorp.pinpoint.test.plugin.DependencyResolverFactory"); Object factoryObject = factory.newInstance(); Method resolverGet = factory.getMethod("get", String[].class);