Skip to content

Commit

Permalink
Use ConcurrentHashMap in ClassCache to allow concurrent injection
Browse files Browse the repository at this point in the history
  • Loading branch information
P3ridot committed Jul 19, 2023
1 parent 241d8ad commit 4049acd
Showing 1 changed file with 4 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.panda_lang.utilities.inject.annotations.AutoConstruct;
import org.panda_lang.utilities.inject.annotations.Inject;
import panda.std.Pair;

final class ClassCache {

private static final Map<Class<?>, Field[]> CACHED_FIELDS = new HashMap<>();
private static final Map<Class<?>, Field[]> INJECTOR_CACHED_FIELDS = new HashMap<>();
private static final Map<Class<?>, Field[]> CACHED_FIELDS = new ConcurrentHashMap<>();
private static final Map<Class<?>, Field[]> INJECTOR_CACHED_FIELDS = new ConcurrentHashMap<>();

private static final Map<Pair<Class<?>, Class<? extends Annotation>>, Method[]> CACHED_ANNOTATED_METHODS = new HashMap<>();
private static final Map<Pair<Class<?>, Class<? extends Annotation>>, Method[]> CACHED_ANNOTATED_METHODS = new ConcurrentHashMap<>();

private ClassCache() { }

Expand Down

0 comments on commit 4049acd

Please sign in to comment.