Merge pull request #34762 from SeasonPanPan
* pr/34762: Polish "Use removeIf rather than Iterator-based removal" Use removeIf rather than Iterator-based removal Closes gh-34762
This commit is contained in:
		
						commit
						35b95f36f7
					
				| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Copyright 2012-2021 the original author or authors.
 | 
					 * Copyright 2012-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.
 | 
				
			||||||
| 
						 | 
					@ -19,9 +19,7 @@ package org.springframework.boot.actuate.endpoint.invoker.cache;
 | 
				
			||||||
import java.security.Principal;
 | 
					import java.security.Principal;
 | 
				
			||||||
import java.time.Duration;
 | 
					import java.time.Duration;
 | 
				
			||||||
import java.util.Arrays;
 | 
					import java.util.Arrays;
 | 
				
			||||||
import java.util.Iterator;
 | 
					 | 
				
			||||||
import java.util.Map;
 | 
					import java.util.Map;
 | 
				
			||||||
import java.util.Map.Entry;
 | 
					 | 
				
			||||||
import java.util.Objects;
 | 
					import java.util.Objects;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import reactor.core.publisher.Flux;
 | 
					import reactor.core.publisher.Flux;
 | 
				
			||||||
| 
						 | 
					@ -109,13 +107,7 @@ public class CachingOperationInvoker implements OperationInvoker {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	private void cleanExpiredCachedResponses(long accessTime) {
 | 
						private void cleanExpiredCachedResponses(long accessTime) {
 | 
				
			||||||
		try {
 | 
							try {
 | 
				
			||||||
			Iterator<Entry<CacheKey, CachedResponse>> iterator = this.cachedResponses.entrySet().iterator();
 | 
								this.cachedResponses.entrySet().removeIf((entry) -> entry.getValue().isStale(accessTime, this.timeToLive));
 | 
				
			||||||
			while (iterator.hasNext()) {
 | 
					 | 
				
			||||||
				Entry<CacheKey, CachedResponse> entry = iterator.next();
 | 
					 | 
				
			||||||
				if (entry.getValue().isStale(accessTime, this.timeToLive)) {
 | 
					 | 
				
			||||||
					iterator.remove();
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		catch (Exception ex) {
 | 
							catch (Exception ex) {
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,7 +24,6 @@ import java.util.Collection;
 | 
				
			||||||
import java.util.Collections;
 | 
					import java.util.Collections;
 | 
				
			||||||
import java.util.HashMap;
 | 
					import java.util.HashMap;
 | 
				
			||||||
import java.util.HashSet;
 | 
					import java.util.HashSet;
 | 
				
			||||||
import java.util.Iterator;
 | 
					 | 
				
			||||||
import java.util.LinkedHashSet;
 | 
					import java.util.LinkedHashSet;
 | 
				
			||||||
import java.util.List;
 | 
					import java.util.List;
 | 
				
			||||||
import java.util.Locale;
 | 
					import java.util.Locale;
 | 
				
			||||||
| 
						 | 
					@ -182,13 +181,8 @@ class OnBeanCondition extends FilteringSpringBootCondition implements Configurat
 | 
				
			||||||
		for (String type : spec.getTypes()) {
 | 
							for (String type : spec.getTypes()) {
 | 
				
			||||||
			Collection<String> typeMatches = getBeanNamesForType(classLoader, considerHierarchy, beanFactory, type,
 | 
								Collection<String> typeMatches = getBeanNamesForType(classLoader, considerHierarchy, beanFactory, type,
 | 
				
			||||||
					parameterizedContainers);
 | 
										parameterizedContainers);
 | 
				
			||||||
			Iterator<String> iterator = typeMatches.iterator();
 | 
								typeMatches
 | 
				
			||||||
			while (iterator.hasNext()) {
 | 
									.removeIf((match) -> beansIgnoredByType.contains(match) || ScopedProxyUtils.isScopedTarget(match));
 | 
				
			||||||
				String match = iterator.next();
 | 
					 | 
				
			||||||
				if (beansIgnoredByType.contains(match) || ScopedProxyUtils.isScopedTarget(match)) {
 | 
					 | 
				
			||||||
					iterator.remove();
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			if (typeMatches.isEmpty()) {
 | 
								if (typeMatches.isEmpty()) {
 | 
				
			||||||
				result.recordUnmatchedType(type);
 | 
									result.recordUnmatchedType(type);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue