From 0d13e31827a0f89ab6d0bfb32b410bab95115ac6 Mon Sep 17 00:00:00 2001 From: SeasonPan <244014926@qq.com> Date: Sat, 25 Mar 2023 22:50:52 +0800 Subject: [PATCH] Use removeIf rather than Iterator-based removal See gh-34762 --- .../endpoint/invoker/cache/CachingOperationInvoker.java | 8 +------- .../boot/autoconfigure/condition/OnBeanCondition.java | 8 +------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/invoker/cache/CachingOperationInvoker.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/invoker/cache/CachingOperationInvoker.java index 5507f4b7f88..aa8ae990d2b 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/invoker/cache/CachingOperationInvoker.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/invoker/cache/CachingOperationInvoker.java @@ -109,13 +109,7 @@ public class CachingOperationInvoker implements OperationInvoker { private void cleanExpiredCachedResponses(long accessTime) { try { - Iterator> iterator = this.cachedResponses.entrySet().iterator(); - while (iterator.hasNext()) { - Entry entry = iterator.next(); - if (entry.getValue().isStale(accessTime, this.timeToLive)) { - iterator.remove(); - } - } + this.cachedResponses.entrySet().removeIf(entry -> entry.getValue().isStale(accessTime, this.timeToLive)); } catch (Exception ex) { } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/OnBeanCondition.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/OnBeanCondition.java index edefe23f966..98f94fa19e2 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/OnBeanCondition.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/OnBeanCondition.java @@ -182,13 +182,7 @@ class OnBeanCondition extends FilteringSpringBootCondition implements Configurat for (String type : spec.getTypes()) { Collection typeMatches = getBeanNamesForType(classLoader, considerHierarchy, beanFactory, type, parameterizedContainers); - Iterator iterator = typeMatches.iterator(); - while (iterator.hasNext()) { - String match = iterator.next(); - if (beansIgnoredByType.contains(match) || ScopedProxyUtils.isScopedTarget(match)) { - iterator.remove(); - } - } + typeMatches.removeIf(match -> beansIgnoredByType.contains(match) || ScopedProxyUtils.isScopedTarget(match)); if (typeMatches.isEmpty()) { result.recordUnmatchedType(type); }