【发布时间】: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