DATACASS-777 - Polishing.

Use consistently ConcurrentHashMap for meta-model caching.

Original pull request: #175.
This commit is contained in:
Mark Paluch
2020-06-22 13:44:49 +02:00
parent 309cf41578
commit 27d044bb7a

View File

@@ -17,12 +17,11 @@ package org.springframework.data.cassandra.core.mapping;
import java.util.Collection;
import java.util.Collections;
import java.util.concurrent.ConcurrentHashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.StreamSupport;
import org.springframework.beans.BeansException;
@@ -81,8 +80,9 @@ public class CassandraMappingContext
// caches
private final Map<CqlIdentifier, Set<CassandraPersistentEntity<?>>> entitySetsByTableName = new ConcurrentHashMap<>();
private final Set<BasicCassandraPersistentEntity<?>> tableEntities = new HashSet<>();
private final Set<BasicCassandraPersistentEntity<?>> userDefinedTypes = new HashSet<>();
private final Set<BasicCassandraPersistentEntity<?>> tableEntities = ConcurrentHashMap.newKeySet();
private final Set<BasicCassandraPersistentEntity<?>> userDefinedTypes = ConcurrentHashMap.newKeySet();
/**
* Create a new {@link CassandraMappingContext}.
@@ -345,7 +345,7 @@ public class CassandraMappingContext
// now do some caching of the entity
Set<CassandraPersistentEntity<?>> entities = this.entitySetsByTableName.computeIfAbsent(entity.getTableName(),
cqlIdentifier -> new HashSet<>());
cqlIdentifier -> ConcurrentHashMap.newKeySet());
entities.add(entity);