INT-2902 Fix Groovy Test Timing Problem

A message could be released by the delayer before
the scheduler was destroyed.
This commit is contained in:
Gary Russell
2013-01-25 13:30:41 -05:00
parent afe6f25b81
commit 0c95a8f5bc
2 changed files with 5 additions and 4 deletions

View File

@@ -22,7 +22,7 @@
<task:scheduler id="scheduler"/>
<delayer id="testDelayer" input-channel="delayerInput" output-channel="output"
default-delay="100"
default-delay="1000"
scheduler="scheduler"/>
</beans:beans>

View File

@@ -63,7 +63,8 @@ public class GroovyControlBusIntegrationTests {
this.delayerInput.send(testMessage);
this.scheduler.destroy();
assertNull(this.output.receive(100));
// ensure the delayer did not release any messages
assertNull(this.output.receive(500));
this.scheduler.afterPropertiesSet();
Resource scriptResource = new ClassPathResource("GroovyControlBusDelayerManagementTest.groovy", this.getClass());
@@ -71,7 +72,7 @@ public class GroovyControlBusIntegrationTests {
Message<?> message = MessageBuilder.withPayload(scriptSource.getScriptAsString()).build();
this.controlBus.send(message);
assertNotNull(this.output.receive(100));
assertNotNull(this.output.receive(100));
assertNotNull(this.output.receive(1000));
assertNotNull(this.output.receive(1000));
}
}