每个发送命令后,从Kafka生产者那里获取响应

时间:2020-10-22 20:56:11

标签: java spring-boot apache-kafka spring-kafka kafka-producer-api

我正在使用Spring Boot Kafka将消息发送到某个主题。 我的要求是从表中增量读取数据,然后将其发布到基于日期时间字段的主题中,由于这是计划的过程,因此我需要在每个消息之后存储每个消息中的日期时间字段 成功向Kafka发送消息。

任何建议都是最好的方法。我相信我无法对此类使用异步回调,因为每次调用生产者后我都需要更新变量。

由于基础设施的限制,我也不能使用Kafka连接。

1 个答案:

答案 0 :(得分:0)

ListenableFuture<SendResult<String, String>> future = template.send(...);
SendResult<String, String> sendResult = future.get(10, TimeUnit.SECONDS);
Long timestamp = sendResult.getProducerRecord().timestamp();

如果发送失败,则get将引发异常。