From ebc508ee61138a296e236b7e7a6647f5c6d97757 Mon Sep 17 00:00:00 2001 From: Ilayaperumal Gopinathan Date: Wed, 24 Aug 2016 20:08:21 +0530 Subject: [PATCH] Do not start application context automatically - This will avoid other lifecycle beans inside the application context starting when binding lifecycle beans are started. Resolves #525 Address review comments --- .../src/main/asciidoc/spring-cloud-stream-overview.adoc | 1 - .../cloud/stream/binding/OutputBindingLifecycle.java | 1 - .../cloud/stream/binder/LifecycleBinderTests.java | 4 ++-- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/spring-cloud-stream-core-docs/src/main/asciidoc/spring-cloud-stream-overview.adoc b/spring-cloud-stream-core-docs/src/main/asciidoc/spring-cloud-stream-overview.adoc index f224253a4..2aaa706e9 100644 --- a/spring-cloud-stream-core-docs/src/main/asciidoc/spring-cloud-stream-overview.adoc +++ b/spring-cloud-stream-core-docs/src/main/asciidoc/spring-cloud-stream-overview.adoc @@ -386,7 +386,6 @@ public class SendingBean { } } ---- - ==== Producing and Consuming Messages You can write a Spring Cloud Stream application using either Spring Integration annotations or Spring Cloud Stream's `@StreamListener` annotation. diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/OutputBindingLifecycle.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/OutputBindingLifecycle.java index db360249d..20955c596 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/OutputBindingLifecycle.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/OutputBindingLifecycle.java @@ -62,7 +62,6 @@ public class OutputBindingLifecycle implements SmartLifecycle, ApplicationContex "Cannot perform binding, no proper implementation found", e); } this.running = true; - this.applicationContext.start(); } } diff --git a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/LifecycleBinderTests.java b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/LifecycleBinderTests.java index 6703ec350..b8f70216a 100644 --- a/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/LifecycleBinderTests.java +++ b/spring-cloud-stream/src/test/java/org/springframework/cloud/stream/binder/LifecycleBinderTests.java @@ -32,6 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat; /** * @author Marius Bogoevici + * @author Ilayaperumal Gopinathan */ public class LifecycleBinderTests { @@ -39,9 +40,8 @@ public class LifecycleBinderTests { public void testNonSmartLifecyclesStarted() { ConfigurableApplicationContext applicationContext = SpringApplication.run(TestSource.class, "--server.port=-1"); SimpleLifecycle simpleLifecycle = applicationContext.getBean(SimpleLifecycle.class); - assertThat(simpleLifecycle.isRunning()); - applicationContext.close(); assertThat(simpleLifecycle.isRunning()).isFalse(); + applicationContext.close(); } @EnableBinding(Source.class)