【问题标题】:How to publish message to 2 kafka topics based on condition - spring cloud stream如何根据条件向 2 个 kafka 主题发布消息 - 春天云流
【发布时间】:2021-11-24 18:32:16
【问题描述】:

目前我有一个 spring clound 函数,它消耗一个主题并发布到另一个主题。但对于特定情况,我需要将消息发布到另一个主题。基本上需要从 Spring Cloud 功能向多个主题发布消息。

当前代码sn-ps

@Bean
public Function<Message<InputMessage>, Message<OutputMessage>>
    messageTransformer(){
    return new KafkaTransformer();
    }


public class KafkaTransformer
    implements Function<
    Message<InputMessage>, Message<OutputMessage>> {

  @Override
  public Message<OutputMessage> apply(
      Message<InputMessage> inputMessage) {
    try {
      Message<OutputMessage> outputMessage = process(inputMessage);
      return outputMessage;
    } catch (Exception e) {
      // need to send message to another topic ( which is other than dlq).
    }
  }
}

spring.cloud.stream.bindings.messageTransformer-in-0.destination=input.topic
spring.cloud.stream.bindings.messageTransformer-out-0.destination=output.topic
spring.cloud.function.definition=messageTransformer

【问题讨论】:

    标签: java spring spring-boot spring-kafka spring-cloud-stream


    【解决方案1】:

    您是否考虑过为此使用StreamBridge API?听起来这应该适用于您正在寻找的东西。这是docs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2021-01-21
      • 2021-06-03
      相关资源
      最近更新 更多