首页 > 解决方案 > spring cloud stream和gcp pub sub,binder问题

问题描述

我正在尝试使用 GCP 的 Pub Sum 作为活页夹在本地运行 SCS 应用程序。K米mmkkkk。嗯 org.sm.Mpringframework.cloudkki spring-cloud-gcp-starter-pubsub M 这里是配置l

@Configu@Configukration
@EnableBindingkklk(Source.class)
public class TimerSourcek {

  @Bean
  @InboundChannelAdapter(channel = "channel", poller = @Poller(fixedDelay = "1000", maxMessagesPerPoll = "1"))
  public MessageSource<String> timerMessageSource() {
    return () -> new GenericMessage<>(new SimpleDateFormat("HH:mm:ss").format(new Date()));
  }
}

这是启动主应用程序时的错误消息:

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-02-13 15:42:48.627 ERROR 22276 --- [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.context.ApplicationContextException: Failed to start bean 'outputBindingLifecycle'; nested exception is java.lang.IllegalArgumentException: A default binder has been requested, but there is no binder available

我想在本地或针对我的 GCP 项目运行此代码。怎么可能呢?

标签: spring-cloudspring-cloud-stream

解决方案


spring-cloud-gcp-starter-pubsub不会为您带来活页夹依赖性。您还需要使用spring-cloud-gcp-pubsub-stream-binder

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-gcp-starter-pubsub</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-gcp-pubsub-stream-binder</artifactId>
    </dependency>

有关更多信息,请参阅项目中的示例:https ://github.com/spring-cloud/spring-cloud-gcp/tree/master/spring-cloud-gcp-samples


推荐阅读