2017-06-18 60 views
2

我在嘗試使用一個@StreamListener中的多個主題嘗試spring-boot-stream時遇到問題。春雲流和消耗多個kafka主題

根據春季雲流文檔: Accordidng到文檔:

destination

The target destination of a channel on the bound middleware (e.g., the RabbitMQ exchange or Kafka topic). If the channel is bound as a consumer, it could be bound to multiple destinations and the destination names can be specified as comma separated String values. If not set, the channel name is used instead. The default value of this > property cannot be overridden.

但是,使用下一個配置,我已後:

spring: 
    cloud: 
    stream: 
     bindings: 
     testchannel: 
      group: test 
      destination: platform.metrics, platform.sleuth 

,現在我有一個錯誤:

Caused by: java.lang.IllegalArgumentException: Topic name can only have ASCII alphanumerics, '.', '_' and '-' 
    at org.springframework.cloud.stream.binder.kafka.utils.KafkaTopicUtils.validateTopicName(KafkaTopicUtils.java:39) ~[spring-cloud-stream-binder-kafka-core-1.2.1.RELEASE.jar:1.2.1.RELEASE] 
    at org.springframework.cloud.stream.binder.kafka.provisioning.KafkaTopicProvisioner.provisionProducerDestination(KafkaTopicProvisioner.java:107) ~[spring-cloud-stream-binder-kafka-core-1.2.1.RELEASE.jar:1.2.1.RELEASE] 
    at org.springframework.cloud.stream.binder.kafka.provisioning.KafkaTopicProvisioner.provisionProducerDestination(KafkaTopicProvisioner.java:60) ~[spring-cloud-stream-binder-kafka-core-1.2.1.RELEASE.jar:1.2.1.RELEASE] 
    at org.springframework.cloud.stream.binder.AbstractMessageChannelBinder.doBindProducer(AbstractMessageChannelBinder.java:110) ~[spring-cloud-stream-1.2.2.RELEASE.jar:1.2.2.RELEASE] 
    ... 20 common frames omitted 

如何將多個主題綁定到一個@StreamListner或生成主題列表中的動態流式監聽器?

+0

[相關小膠質討論](https://gitter.im/spring-cloud/spring -cloud流?在= 59465604f6a78eab485d7b25)。 –

回答

1

你只需要更換逗號和下一個目的地值之間的空間,它會看起來像:

spring: 
    cloud: 
     stream: 
      bindings: 
       testchannel: 
        group: test 
        destination: platform.metrics,platform.sleuth