有一个包含 80 到 100 条记录的 ArrayList,尝试流式传输并将每个单独的记录(POJO,不是整个列表)发送到 Kafka 主题(事件中心)。安排一个 cron 作业,例如每小时将这些记录 (POJO) 发送到事件中心。
能够看到消息发送到 eventhub ,但在 3 到 4 次成功运行后出现以下异常(其中包括多条正在发送的消息和几条因以下异常而失败的消息)
Expiring 14 record(s) for eventhubname: 30125 ms has passed since batch creation plus linger time
以下是使用的 Producer 的配置,
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
props.put(ProducerConfig.ACKS_CONFIG, "1");
props.put(ProducerConfig.RETRIES_CONFIG, "3");
消息保留期 - 7 分区 - 6 使用 spring Kafka(2.2.3) 发送标记为@Asynckafka send 写入位置的事件方法
@Async
protected void send() {
kafkatemplate.send(record);
}
预期 - kafka 不会抛出异常 实际 - 抛出 org.apache.kafka.common.errors.TimeoutException
万千封印
长风秋雁
相关分类