GH-230 - Caches in ApplicationModules and ArchitecturallyEvidentType are now ConcurrentHashMaps.

This commit is contained in:
Oliver Drotbohm
2023-07-05 13:56:01 +02:00
parent 547b6091f0
commit fb839cb8a5
2 changed files with 4 additions and 3 deletions

View File

@@ -20,6 +20,7 @@ import static com.tngtech.archunit.core.domain.JavaClass.Predicates.*;
import static java.util.stream.Collectors.*;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -58,7 +59,7 @@ import com.tngtech.archunit.library.dependencies.SlicesRuleDefinition;
*/
public class ApplicationModules implements Iterable<ApplicationModule> {
private static final Map<CacheKey, ApplicationModules> CACHE = new HashMap<>();
private static final Map<CacheKey, ApplicationModules> CACHE = new ConcurrentHashMap<>();
private static final ApplicationModuleDetectionStrategy DETECTION_STRATEGY;
private static final ImportOption IMPORT_OPTION = new ImportOption.DoNotIncludeTests();
private static final boolean JGRAPHT_PRESENT = ClassUtils.isPresent("org.jgrapht.Graph",

View File

@@ -20,12 +20,12 @@ import static org.springframework.modulith.core.Types.JavaXTypes.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Predicate;
import java.util.stream.Stream;
@@ -48,7 +48,7 @@ import com.tngtech.archunit.thirdparty.com.google.common.base.Suppliers;
*/
public abstract class ArchitecturallyEvidentType {
private static Map<Key, ArchitecturallyEvidentType> CACHE = new HashMap<>();
private static Map<Key, ArchitecturallyEvidentType> CACHE = new ConcurrentHashMap<>();
private final JavaClass type;