【发布时间】:2019-07-13 23:10:16
【问题描述】:
我想知道使用spring-cloud-stream写入kafka主题是否成功。
public boolean writeToKafka(String emails) {
Message<String> message = MessageBuilder.withPayload(emails).build();
return processor.output().send(message);
}
return 语句的计算结果始终为 true。我需要向调用方法发送回确认消息是否已写入。
【问题讨论】:
-
为什么需要 ack?我的意思是框架已经为你处理好了,所以如果你正在使用框架,你为什么要规避呢?
-
@OlegZhurakousky。感谢您的回复。原因是我想发回 HTTP 状态。如果向 Kafka 写入消息有任何失败,我想让用户知道,以便他稍后重试。
-
你可以设置
s.c.s.kafka.bindings.output.producer.sync=true阻塞调用线程直到发送完成(或抛出异常)。 -
感谢格雷罗素。它的工作。
标签: apache-kafka spring-cloud-stream