diff --git a/src/main/java/org/springframework/data/repository/support/Repositories.java b/src/main/java/org/springframework/data/repository/support/Repositories.java index e752b6f04..daa56e60e 100644 --- a/src/main/java/org/springframework/data/repository/support/Repositories.java +++ b/src/main/java/org/springframework/data/repository/support/Repositories.java @@ -173,7 +173,10 @@ public class Repositories implements Iterable> { Assert.notNull(domainClass); - for (RepositoryFactoryInformation information : repositories.keySet()) { + // Create defensive copy of the keys to allow threads to potentially add values while iterating over them + Set> keys = Collections.unmodifiableSet(repositories.keySet()); + + for (RepositoryFactoryInformation information : keys) { if (domainClass.equals(information.getEntityInformation().getJavaType())) { return information; }