From e44d3dabc4e445f297f22496ef492e8b91d2b2b4 Mon Sep 17 00:00:00 2001 From: stsypanov Date: Tue, 15 Jan 2019 11:53:52 +0200 Subject: [PATCH] use Method in fixedInterceptorMap instead of String returned from Method::toString --- .../aop/framework/CglibAopProxy.java | 13 +++++++------ .../aop/framework/ObjenesisCglibAopProxy.java | 1 - 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/spring-aop/src/main/java/org/springframework/aop/framework/CglibAopProxy.java b/spring-aop/src/main/java/org/springframework/aop/framework/CglibAopProxy.java index 5abb10919e..dd9a91b06c 100644 --- a/spring-aop/src/main/java/org/springframework/aop/framework/CglibAopProxy.java +++ b/spring-aop/src/main/java/org/springframework/aop/framework/CglibAopProxy.java @@ -112,7 +112,7 @@ class CglibAopProxy implements AopProxy, Serializable { /** Dispatcher used for methods on Advised. */ private final transient AdvisedDispatcher advisedDispatcher; - private transient Map fixedInterceptorMap = Collections.emptyMap(); + private transient Map fixedInterceptorMap = Collections.emptyMap(); private transient int fixedInterceptorOffset; @@ -327,10 +327,11 @@ class CglibAopProxy implements AopProxy, Serializable { // TODO: small memory optimization here (can skip creation for methods with no advice) for (int x = 0; x < methods.length; x++) { - List chain = this.advised.getInterceptorsAndDynamicInterceptionAdvice(methods[x], rootClass); + Method method = methods[x]; + List chain = this.advised.getInterceptorsAndDynamicInterceptionAdvice(method, rootClass); fixedCallbacks[x] = new FixedChainStaticTargetInterceptor( chain, this.advised.getTargetSource().getTarget(), this.advised.getTargetClass()); - this.fixedInterceptorMap.put(methods[x].toString(), x); + this.fixedInterceptorMap.put(method, x); } // Now copy both the callbacks from mainCallbacks @@ -762,12 +763,12 @@ class CglibAopProxy implements AopProxy, Serializable { private final AdvisedSupport advised; - private final Map fixedInterceptorMap; + private final Map fixedInterceptorMap; private final int fixedInterceptorOffset; public ProxyCallbackFilter( - AdvisedSupport advised, Map fixedInterceptorMap, int fixedInterceptorOffset) { + AdvisedSupport advised, Map fixedInterceptorMap, int fixedInterceptorOffset) { this.advised = advised; this.fixedInterceptorMap = fixedInterceptorMap; @@ -852,7 +853,7 @@ class CglibAopProxy implements AopProxy, Serializable { } return AOP_PROXY; } - String key = method.toString(); + Method key = method; // Check to see if we have fixed interceptor to serve this method. // Else use the AOP_PROXY. if (isStatic && isFrozen && this.fixedInterceptorMap.containsKey(key)) { diff --git a/spring-aop/src/main/java/org/springframework/aop/framework/ObjenesisCglibAopProxy.java b/spring-aop/src/main/java/org/springframework/aop/framework/ObjenesisCglibAopProxy.java index 89e47fe295..c0f4e87178 100644 --- a/spring-aop/src/main/java/org/springframework/aop/framework/ObjenesisCglibAopProxy.java +++ b/spring-aop/src/main/java/org/springframework/aop/framework/ObjenesisCglibAopProxy.java @@ -53,7 +53,6 @@ class ObjenesisCglibAopProxy extends CglibAopProxy { @Override - @SuppressWarnings("unchecked") protected Object createProxyClassAndInstance(Enhancer enhancer, Callback[] callbacks) { Class proxyClass = enhancer.createClass(); Object proxyInstance = null; -- GitLab