Merge pull request #26028 from hzmpay

* pr/26028:
  Update copyright header of changed file
  Use computeIfAbsent in SpelCompiler and AdvisedSupport

Closes gh-26028
This commit is contained in:
Stephane Nicoll 2023-08-25 16:17:48 +02:00
commit 22fd6df711
2 changed files with 4 additions and 14 deletions

View File

@ -479,14 +479,8 @@ public class AdvisedSupport extends ProxyConfig implements Advised {
* @return a List of MethodInterceptors (may also include InterceptorAndDynamicMethodMatchers) * @return a List of MethodInterceptors (may also include InterceptorAndDynamicMethodMatchers)
*/ */
public List<Object> getInterceptorsAndDynamicInterceptionAdvice(Method method, @Nullable Class<?> targetClass) { public List<Object> getInterceptorsAndDynamicInterceptionAdvice(Method method, @Nullable Class<?> targetClass) {
MethodCacheKey cacheKey = new MethodCacheKey(method); return this.methodCache.computeIfAbsent(new MethodCacheKey(method), k ->
List<Object> cached = this.methodCache.get(cacheKey); this.advisorChainFactory.getInterceptorsAndDynamicInterceptionAdvice(this, method, targetClass));
if (cached == null) {
cached = this.advisorChainFactory.getInterceptorsAndDynamicInterceptionAdvice(
this, method, targetClass);
this.methodCache.put(cacheKey, cached);
}
return cached;
} }
/** /**

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2022 the original author or authors. * Copyright 2002-2023 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -233,11 +233,7 @@ public final class SpelCompiler implements Opcodes {
if (compiler == null) { if (compiler == null) {
// Full lock now since we're creating a child ClassLoader // Full lock now since we're creating a child ClassLoader
synchronized (compilers) { synchronized (compilers) {
compiler = compilers.get(clToUse); return compilers.computeIfAbsent(clToUse, SpelCompiler::new);
if (compiler == null) {
compiler = new SpelCompiler(clToUse);
compilers.put(clToUse, compiler);
}
} }
} }
return compiler; return compiler;