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
This commit is contained in:
Gary Russell
2018-03-22 15:10:13 -04:00
committed by Artem Bilan
parent 5919613b3c
commit 080322091f

View File

@@ -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<Message<?>> sequenceNumberComparator = new SequenceNumberComparator();
private final Map<UUID, ScheduledFuture<?>> expireGroupScheduledFutures = new HashMap<UUID, ScheduledFuture<?>>();
private final Map<UUID, ScheduledFuture<?>> expireGroupScheduledFutures = new ConcurrentHashMap<UUID, ScheduledFuture<?>>();
private final MessageGroupProcessor outputProcessor;