diff --git a/spring-integration-core/src/test/java/org/springframework/integration/endpoint/PollerAdviceTests.java b/spring-integration-core/src/test/java/org/springframework/integration/endpoint/PollerAdviceTests.java index 9dcafaddc0..cbaa30e1d9 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/endpoint/PollerAdviceTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/endpoint/PollerAdviceTests.java @@ -257,7 +257,9 @@ public class PollerAdviceTests { final LinkedList triggerPeriods = new LinkedList<>(); final DynamicPeriodicTrigger trigger = new DynamicPeriodicTrigger(10); adapter.setSource(() -> { - triggerPeriods.add(trigger.getPeriod()); + synchronized (triggerPeriods) { + triggerPeriods.add(trigger.getPeriod()); + } Message m = null; if (latch.getCount() % 2 == 0) { m = new GenericMessage<>("foo"); @@ -275,10 +277,9 @@ public class PollerAdviceTests { adapter.start(); assertTrue(latch.await(10, TimeUnit.SECONDS)); adapter.stop(); - while (triggerPeriods.size() > 5) { - triggerPeriods.removeLast(); + synchronized (triggerPeriods) { + assertThat(triggerPeriods.subList(0, 5), contains(10L, 12L, 11L, 12L, 11L)); } - assertThat(triggerPeriods, contains(10L, 12L, 11L, 12L, 11L)); } @Test @@ -308,10 +309,7 @@ public class PollerAdviceTests { assertTrue(latch.await(10, TimeUnit.SECONDS)); adapter.stop(); synchronized (overridePresent) { - while (overridePresent.size() > 5) { - overridePresent.removeLast(); - } - assertThat(overridePresent, contains(null, override, null, override, null)); + assertThat(overridePresent.subList(0, 5), contains(null, override, null, override, null)); } verify(override, atLeast(2)).nextExecutionTime(any(TriggerContext.class)); }