Skip to content

Commit 452fdff

Browse files
Revert some changes after review
1 parent 850b25a commit 452fdff

File tree

8 files changed

+14
-15
lines changed

8 files changed

+14
-15
lines changed

src/main/java/org/springframework/data/mapping/PropertyPath.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@
2323
import java.util.Map;
2424
import java.util.Objects;
2525
import java.util.Stack;
26-
import java.util.concurrent.ConcurrentHashMap;
2726
import java.util.regex.Matcher;
2827
import java.util.regex.Pattern;
2928

3029
import org.springframework.data.util.Streamable;
3130
import org.springframework.data.util.TypeInformation;
3231
import org.springframework.lang.Nullable;
3332
import org.springframework.util.Assert;
33+
import org.springframework.util.ConcurrentReferenceHashMap;
3434
import org.springframework.util.StringUtils;
3535

3636
/**
@@ -50,7 +50,7 @@ public class PropertyPath implements Streamable<PropertyPath> {
5050
private static final Pattern SPLITTER = Pattern.compile("(?:[%s]?([%s]*?[^%s]+))".replaceAll("%s", DELIMITERS));
5151
private static final Pattern SPLITTER_FOR_QUOTED = Pattern.compile("(?:[%s]?([%s]*?[^%s]+))".replaceAll("%s", "\\."));
5252
private static final Pattern NESTED_PROPERTY_PATTERN = Pattern.compile("\\p{Lu}[\\p{Ll}\\p{Nd}]*$");
53-
private static final Map<Property, PropertyPath> cache = new ConcurrentHashMap<>();
53+
private static final Map<Property, PropertyPath> cache = new ConcurrentReferenceHashMap<>();
5454

5555
private final TypeInformation<?> owningType;
5656
private final String name;

src/main/java/org/springframework/data/mapping/model/KotlinCopyMethod.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import java.util.List;
3333
import java.util.Map;
3434
import java.util.Optional;
35-
import java.util.concurrent.ConcurrentHashMap;
3635
import java.util.function.Predicate;
3736
import java.util.stream.Collectors;
3837

@@ -42,6 +41,7 @@
4241
import org.springframework.data.mapping.SimplePropertyHandler;
4342
import org.springframework.data.util.KotlinReflectionUtils;
4443
import org.springframework.util.Assert;
44+
import org.springframework.util.ConcurrentReferenceHashMap;
4545

4646
/**
4747
* Value object to represent a Kotlin {@code copy} method. The lookup requires a {@code copy} method that matches the
@@ -53,7 +53,7 @@
5353
*/
5454
class KotlinCopyMethod {
5555

56-
private static final Map<Class<?>, Optional<KotlinCopyMethod>> COPY_METHOD_CACHE = new ConcurrentHashMap<>();
56+
private static final Map<Class<?>, Optional<KotlinCopyMethod>> COPY_METHOD_CACHE = new ConcurrentReferenceHashMap<>();
5757

5858
private final Method publicCopyMethod;
5959
private final Method syntheticCopyMethod;

src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import java.util.Collection;
2121
import java.util.Collections;
2222
import java.util.Map;
23-
import java.util.concurrent.ConcurrentHashMap;
2423
import java.util.function.Supplier;
2524

2625
import org.aopalliance.intercept.MethodInterceptor;
@@ -34,6 +33,7 @@
3433
import org.springframework.data.util.AnnotationDetectionMethodCallback;
3534
import org.springframework.lang.Nullable;
3635
import org.springframework.util.Assert;
36+
import org.springframework.util.ConcurrentReferenceHashMap;
3737
import org.springframework.util.ReflectionUtils;
3838

3939
/**
@@ -141,7 +141,7 @@ private static boolean isDeleteMethod(String methodName) {
141141
*/
142142
static class EventPublishingMethod {
143143

144-
private static Map<Class<?>, EventPublishingMethod> cache = new ConcurrentHashMap<>();
144+
private static Map<Class<?>, EventPublishingMethod> cache = new ConcurrentReferenceHashMap<>();
145145
private static @SuppressWarnings("null") EventPublishingMethod NONE = new EventPublishingMethod(Object.class, null,
146146
null);
147147

src/main/java/org/springframework/data/repository/query/ReturnedType.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import java.util.List;
2424
import java.util.Map;
2525
import java.util.Set;
26-
import java.util.concurrent.ConcurrentHashMap;
2726

2827
import org.springframework.data.mapping.Parameter;
2928
import org.springframework.data.mapping.PreferredConstructor;
@@ -47,7 +46,7 @@
4746
*/
4847
public abstract class ReturnedType {
4948

50-
private static final Map<CacheKey, ReturnedType> cache = new ConcurrentHashMap<>(32);
49+
private static final Map<CacheKey, ReturnedType> cache = new ConcurrentReferenceHashMap<>(32);
5150

5251
private final Class<?> domainType;
5352

src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
import org.springframework.scheduling.annotation.AsyncResult;
5050
import org.springframework.util.Assert;
5151
import org.springframework.util.ClassUtils;
52+
import org.springframework.util.ConcurrentReferenceHashMap;
5253
import org.springframework.util.ObjectUtils;
5354
import org.springframework.util.concurrent.ListenableFuture;
5455

@@ -83,7 +84,7 @@ public abstract class QueryExecutionConverters {
8384
private static final Set<Function<Object, Object>> UNWRAPPERS = new HashSet<>();
8485
private static final Set<Class<?>> ALLOWED_PAGEABLE_TYPES = new HashSet<>();
8586
private static final Map<Class<?>, ExecutionAdapter> EXECUTION_ADAPTER = new HashMap<>(3, 1f);
86-
private static final Map<Class<?>, Boolean> supportsCache = new ConcurrentHashMap<>();
87+
private static final Map<Class<?>, Boolean> supportsCache = new ConcurrentReferenceHashMap<>();
8788
private static final TypeInformation<Void> VOID_INFORMATION = TypeInformation.of(Void.class);
8889

8990
static {

src/main/java/org/springframework/data/util/ParameterTypes.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.util.Collections;
2323
import java.util.List;
2424
import java.util.Optional;
25-
import java.util.concurrent.ConcurrentHashMap;
2625
import java.util.concurrent.ConcurrentMap;
2726
import java.util.stream.Collectors;
2827

@@ -46,7 +45,7 @@
4645
public class ParameterTypes {
4746

4847
private static final TypeDescriptor OBJECT_DESCRIPTOR = TypeDescriptor.valueOf(Object.class);
49-
private static final ConcurrentMap<List<TypeDescriptor>, ParameterTypes> cache = new ConcurrentHashMap<>();
48+
private static final ConcurrentMap<List<TypeDescriptor>, ParameterTypes> cache = new ConcurrentReferenceHashMap<>();
5049

5150
private final List<TypeDescriptor> types;
5251
private final Lazy<Collection<ParameterTypes>> alternatives;

src/main/java/org/springframework/data/util/ProxyUtils.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@
1717

1818
import java.util.List;
1919
import java.util.Map;
20-
import java.util.concurrent.ConcurrentHashMap;
2120

2221
import org.springframework.aop.support.AopUtils;
2322
import org.springframework.core.io.support.SpringFactoriesLoader;
2423
import org.springframework.util.Assert;
2524
import org.springframework.util.ClassUtils;
25+
import org.springframework.util.ConcurrentReferenceHashMap;
2626

2727
/**
2828
* Proxy type detection utilities, extensible via {@link ProxyDetector} registered via Spring factories.
@@ -32,7 +32,7 @@
3232
*/
3333
public abstract class ProxyUtils {
3434

35-
private static Map<Class<?>, Class<?>> USER_TYPES = new ConcurrentHashMap<>();
35+
private static Map<Class<?>, Class<?>> USER_TYPES = new ConcurrentReferenceHashMap<>();
3636

3737
private static final List<ProxyDetector> DETECTORS = SpringFactoriesLoader.loadFactories(ProxyDetector.class,
3838
ProxyUtils.class.getClassLoader());

src/main/java/org/springframework/data/util/ReactiveWrappers.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@
2121
import java.util.Arrays;
2222
import java.util.Map;
2323
import java.util.Optional;
24-
import java.util.concurrent.ConcurrentHashMap;
2524

2625
import org.springframework.core.ReactiveAdapter;
2726
import org.springframework.core.ReactiveAdapterRegistry;
2827
import org.springframework.core.ReactiveTypeDescriptor;
2928
import org.springframework.lang.Nullable;
3029
import org.springframework.util.Assert;
3130
import org.springframework.util.ClassUtils;
31+
import org.springframework.util.ConcurrentReferenceHashMap;
3232

3333
/**
3434
* Utility class to expose details about reactive wrapper types. This class exposes whether a reactive wrapper is
@@ -70,7 +70,7 @@ public abstract class ReactiveWrappers {
7070

7171
public static final boolean IS_REACTIVE_AVAILABLE = Arrays.stream(ReactiveLibrary.values())
7272
.anyMatch(ReactiveWrappers::isAvailable);
73-
private static final Map<Class<?>, Boolean> IS_REACTIVE_TYPE = new ConcurrentHashMap<>();
73+
private static final Map<Class<?>, Boolean> IS_REACTIVE_TYPE = new ConcurrentReferenceHashMap<>();
7474

7575
private ReactiveWrappers() {}
7676

0 commit comments

Comments
 (0)