From 080322091fddc5c2aeef0b97a51105a0edb44bb6 Mon Sep 17 00:00:00 2001 From: Gary Russell Date: Thu, 22 Mar 2018 15:10:13 -0400 Subject: [PATCH] INT-4441: Fix ACMH Concurrency Problem JIRA: https://jira.spring.io/browse/INT-4441 Possible concurrent updates to `AbstractCorrelatingMessageHandler.groupIds` and `expireGroupScheduledFutures`. (cherry picked from commit f9d5198) # Conflicts: # spring-integration-core/src/main/java/org/springframework/integration/aggregator/AbstractCorrelatingMessageHandler.java --- .../aggregator/AbstractCorrelatingMessageHandler.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 a1140873f0..c0bdd474a0 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,10 +20,10 @@ import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Date; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.locks.Lock; @@ -92,7 +92,7 @@ public abstract class AbstractCorrelatingMessageHandler extends AbstractMessageP private final Comparator> sequenceNumberComparator = new SequenceNumberComparator(); - private final Map> expireGroupScheduledFutures = new HashMap>(); + private final Map> expireGroupScheduledFutures = new ConcurrentHashMap>(); private final MessageGroupProcessor outputProcessor;