[英]Spring Kafka producer not work asynchronous
我正在使用非阻塞(異步)向 Kafka 發送消息:
ListenableFuture<SendResult<Integer, String>> future = template.send(record);
future.addCallback(new ListenableFutureCallback<SendResult<Integer, String>>() {
@Override
public void onSuccess(SendResult<Integer, String> result) {
handleSuccess(data);
}
@Override
public void onFailure(Throwable ex) {
handleFailure(data, record, ex);
}
});
當發送操作完成它的工作時,這完美地工作。
但是當出現連接問題(例如服務器宕機)時,結果變為非異步並且該方法保持阻塞狀態,直到 max.block.ms 的持續時間結束。
這在 Async KAfka 生產者中很自然。 你有兩個選擇
您還可以為 onCompletion() 創建回調函數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.