【问题标题】:I want to set the topic name of a spring cloud stream kafka on runtime. How can I do it?我想在运行时设置spring cloud stream kafka的主题名称。我该怎么做?
【发布时间】:2022-01-08 04:30:57
【问题描述】:

我正在使用以下配置来定义主题名称

spring:
  cloud:
    stream:
      bindings:
        output:
          destination: topicA

我想知道我们如何在运行时以编程方式执行此操作,这样我们就不必在此处定义它。我正在使用 Spring Kafka 活页夹。 TIA

【问题讨论】:

    标签: apache-kafka spring-cloud-stream


    【解决方案1】:

    【讨论】:

    • 在示例中,我们有 streamBridge.send("myBinidng", body); StreamBridge 将数据发送到“myBinidng”绑定。但我想对 topicName 进行发现,然后将数据发送到该特定主题。有没有办法我们可以在运行时以编程方式指定目标名称而不使用 yml 配置?
    • 您可以简单地将“myBinding”替换为发现机制找到的任何主题名称,例如:streamBridge.send("from-discovery-1-topic", data)streamBridge.send("from-discovery-2-topic" data) 等等。在这种情况下,绑定名称不是来自配置,而是绑定成为 send 方法的第一个参数。默认情况下,本例中的绑定名称成为主题名称。
    猜你喜欢
    • 2021-05-08
    • 2021-10-13
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-19
    • 2017-03-22
    • 2019-04-17
    相关资源
    最近更新 更多