diff --git a/spring-integration-core/src/main/java/org/springframework/integration/aggregator/AbstractCorrelatingMessageHandler.java b/spring-integration-core/src/main/java/org/springframework/integration/aggregator/AbstractCorrelatingMessageHandler.java index f4e4f15589..8ff9370bb4 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/aggregator/AbstractCorrelatingMessageHandler.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/aggregator/AbstractCorrelatingMessageHandler.java @@ -20,12 +20,11 @@ import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.locks.Lock; @@ -98,9 +97,9 @@ public abstract class AbstractCorrelatingMessageHandler extends AbstractMessageP private final Comparator> sequenceNumberComparator = new MessageSequenceComparator(); - private final Map> expireGroupScheduledFutures = new HashMap<>(); + private final Map> expireGroupScheduledFutures = new ConcurrentHashMap<>(); - private final Set groupIds = new HashSet<>(); + private final Set groupIds = ConcurrentHashMap.newKeySet(); private MessageGroupProcessor outputProcessor;