diff --git a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/define/JDBCDriverInterceptor.java b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/define/JDBCDriverInterceptor.java index 535b04e88f39a0158d11907826478c774fa80439..244d24e178820b5f1e7891a6308b0580667be454 100644 --- a/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/define/JDBCDriverInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/jdbc-plugin/src/main/java/org/skywalking/apm/plugin/jdbc/define/JDBCDriverInterceptor.java @@ -23,8 +23,12 @@ public class JDBCDriverInterceptor implements InstanceMethodsAroundInterceptor { @Override public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes, Object ret) throws Throwable { - return new SWConnection((String)allArguments[0], - (Properties)allArguments[1], (Connection)ret); + if (ret != null) { + return new SWConnection((String)allArguments[0], + (Properties)allArguments[1], (Connection)ret); + } + + return ret; } @Override public void handleMethodException(EnhancedInstance objInst, Method method, Object[] allArguments,