有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用Kafka和Spring Cloud stream生成多个输出?

我是卡夫卡的新手。我有一个关于高优先级、失败和审计三个主题的需求。我想从高优先级队列中读取事件并对其进行处理,将处理后的事件分别放入Failed和Audit主题中。一个输入主题(高优先级)&;两个输出主题(失败、审核)。我知道我们可以通过卡夫卡流做到这一点,但我想通过producer&;消费者问题

我使用的是Spring Cloud streams(函数式编程风格)

我使用函数,但函数只使用一个输入&;一个输出。我需要一个输入&;两个输出

@Bean
public Function<Message<String>,String> highPriorityConsumer(){
    return (value) -> {
        Acknowledgment acknowledgment = value.getHeaders().get(KafkaHeaders.ACKNOWLEDGMENT, Acknowledgment.class);
        acknowledgment.acknowledge();
        return value.getPayload();
    };
}
spring.cloud.stream.bindings.highPriorityConsumer-in-0.destination=highpriority
spring.cloud.stream.bindings.highPriorityConsumer-out-0.destination=audit
spring.cloud.stream.bindings.postMess-out-0.destination=failed
spring.cloud.stream.function.definition=highPriorityConsumer;producer 

请让我知道如何使用producer&;函数式编程风格的消费者


共 (0) 个答案