diff --git a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/MonitoringPoolingDataSource.java b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/MonitoringPoolingDataSource.java index 597115c2bad0b9c7fc009460719dc8b248bdc490..a4ee3484e71425f1392a85e896ac6ac82ad7f906 100644 --- a/dbmigration/source/java/ch/systemsx/cisd/dbmigration/MonitoringPoolingDataSource.java +++ b/dbmigration/source/java/ch/systemsx/cisd/dbmigration/MonitoringPoolingDataSource.java @@ -199,15 +199,29 @@ class MonitoringPoolingDataSource extends PoolingDataSource static String tryGetServiceMethodName(StackTraceElement[] stackTrace) { - String methodName = null; + String innerMethodName = null; + String outerMethodName = null; for (StackTraceElement e : stackTrace) { if (e.getClassName().contains("$Proxy")) { - methodName = e.getMethodName(); + if (innerMethodName == null) + { + innerMethodName = e.getMethodName(); + } + outerMethodName = e.getMethodName(); } } - return methodName; + if (innerMethodName == null) + { + return null; + } + if (innerMethodName.equals(outerMethodName)) + { + return outerMethodName; + } else { + return outerMethodName + " / " + innerMethodName; + } } static String traceToString(StackTraceElement[] trace)