Moved message collector to a separate config

This commit is contained in:
Marcin Grzejszczak
2016-09-02 17:41:20 +02:00
parent 708a9e8b36
commit 30e149694e
3 changed files with 30 additions and 10 deletions

View File

@@ -34,7 +34,7 @@ import org.springframework.context.annotation.Import;
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Import({HttpStubsController.class, TriggerController.class, StubRunnerConfiguration.class})
@Import({HttpStubsController.class, TriggerController.class, StreamConfiguration.class, StubRunnerConfiguration.class})
public @interface EnableStubRunnerServer {
}

View File

@@ -0,0 +1,29 @@
package org.springframework.cloud.contract.stubrunner.server;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.cloud.stream.test.binder.MessageCollector;
import org.springframework.cloud.stream.test.binder.TestSupportBinder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
/**
* Configuration required to make Stub Runner server be executed at compile time
*
* @author Marcin Grzejszczak
*
* @since 1.0.0
*/
@Configuration
class StreamConfiguration {
@Bean
@Primary
@ConditionalOnClass(name = "org.springframework.cloud.stream.test.binder.TestSupportBinder")
@ConditionalOnMissingBean
public MessageCollector messageCollector() {
return new TestSupportBinder().messageCollector();
}
}

View File

@@ -25,8 +25,6 @@ import org.springframework.cloud.contract.verifier.messaging.internal.ContractVe
import org.springframework.cloud.contract.verifier.messaging.internal.ContractVerifierMessaging;
import org.springframework.cloud.contract.verifier.messaging.noop.NoOpContractVerifierAutoConfiguration;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.test.binder.MessageCollector;
import org.springframework.cloud.stream.test.binder.TestSupportBinder;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -41,13 +39,6 @@ import org.springframework.messaging.Message;
@AutoConfigureBefore(NoOpContractVerifierAutoConfiguration.class)
public class ContractVerifierStreamAutoConfiguration {
@Bean
@ConditionalOnClass(name = "org.springframework.cloud.stream.test.binder.TestSupportBinder")
@ConditionalOnMissingBean
public MessageCollector messageCollector() {
return new TestSupportBinder().messageCollector();
}
@Bean
@ConditionalOnMissingBean
MessageVerifier<Message<?>> contractVerifierMessageExchange(