Updated to start the consumer before the producer

This commit is contained in:
Glenn Renfro
2017-04-14 13:47:00 -04:00
parent f01b33200d
commit 76f431f9e2

View File

@@ -19,17 +19,19 @@ package io.spring.cloud;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import org.junit.After;
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.Test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.annotation.StreamListener;
import org.springframework.cloud.stream.binder.test.junit.rabbit.RabbitTestSupport;
import org.springframework.cloud.stream.messaging.Sink;
import org.springframework.cloud.task.batch.listener.support.JobExecutionEvent;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
public class BatchEventsApplicationTests {
@@ -39,9 +41,19 @@ public class BatchEventsApplicationTests {
// Count for two job execution events per task
static CountDownLatch jobExecutionLatch = new CountDownLatch(2);
private ConfigurableApplicationContext context;
@After
public void cleanup() {
if(context != null && context.isActive()) {
context.close();
}
}
@Test
public void testExecution() throws Exception {
SpringApplication.run(JobExecutionListenerBinding.class, "--spring.main.web-environment=false");
SpringApplication.run(BatchEventsApplication.class, "--server.port=0",
"--spring.cloud.stream.bindings.output.producer.requiredGroups=testgroup",
"--logging.level.org.springframework.integration=DEBUG");
@@ -51,7 +63,7 @@ public class BatchEventsApplicationTests {
@EnableBinding(Sink.class)
@PropertySource("classpath:io/spring/task/listener/job-listener-sink-channel.properties")
@EnableAutoConfiguration
@Configuration
public static class JobExecutionListenerBinding {
@StreamListener(Sink.INPUT)