From 9dfa9c92186deab9861b6069c3caa264e41cc2cc Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Fri, 18 Dec 2015 09:17:27 -0500 Subject: [PATCH] renamed ChannelFactory to BindableChannelFactory This clarifies the contract as this interface is intended for creation/configuration of the bindable channels only. --- .../binding/BindableChannelFactory.java | 43 ++++++++-------- .../stream/binding/BindableProxyFactory.java | 2 +- .../cloud/stream/binding/ChannelFactory.java | 47 ----------------- .../DefaultBindableChannelFactory.java | 51 +++++++++++++++++++ .../ChannelBindingServiceConfiguration.java | 8 +-- .../aggregation/ModuleAggregationTest.java | 4 +- 6 files changed, 78 insertions(+), 77 deletions(-) delete mode 100644 spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/ChannelFactory.java create mode 100644 spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/DefaultBindableChannelFactory.java diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableChannelFactory.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableChannelFactory.java index b8e9f147c..fdd5aea33 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableChannelFactory.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableChannelFactory.java @@ -13,39 +13,36 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.cloud.stream.binding; -import org.springframework.integration.channel.DirectChannel; -import org.springframework.integration.channel.QueueChannel; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.SubscribableChannel; /** - * Class that {@link BindableProxyFactory} uses to create and configure message channels. + * Defines methods to create/configure the {@link org.springframework.messaging.MessageChannel}s defined + * in {@link org.springframework.cloud.stream.annotation.EnableBinding}. * - * @author Marius Bogoevici - * @author David Syer * @author Ilayaperumal Gopinathan */ -public class BindableChannelFactory implements ChannelFactory { +public interface BindableChannelFactory { - private final MessageConverterConfigurer messageConverterConfigurer; + /** + * Create a {@link SubscribableChannel} that will be bound via the message channel + * {@link org.springframework.cloud.stream.binder.Binder}. + * + * @param name name of the message channel + * @return subscribable message channel + */ + SubscribableChannel createSubscribableChannel(String name); - public BindableChannelFactory(MessageConverterConfigurer messageConverterConfigurer) { - this.messageConverterConfigurer = messageConverterConfigurer; - } + /** + * Create a {@link PollableChannel} that will be bound via the message channel + * {@link org.springframework.cloud.stream.binder.Binder}. + * + * @param name name of the message channel + * @return pollable message channel + */ + PollableChannel createPollableChannel(String name); - @Override - public PollableChannel createPollableChannel(String name) { - PollableChannel pollableChannel = new QueueChannel(); - messageConverterConfigurer.configureMessageConverters(pollableChannel, name); - return pollableChannel; - } - - @Override - public SubscribableChannel createSubscribableChannel(String name) { - SubscribableChannel subscribableChannel = new DirectChannel(); - messageConverterConfigurer.configureMessageConverters(subscribableChannel, name); - return subscribableChannel; - } } diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableProxyFactory.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableProxyFactory.java index 9516c4c3e..677a1e7f4 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableProxyFactory.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BindableProxyFactory.java @@ -79,7 +79,7 @@ public class BindableProxyFactory implements MethodInterceptor, FactoryBean