将来、非同期実行に使用するアプリケーションがあります。
私はそれが応答を取得していない場合、スレッドは、10秒後に殺さなければならないこと、getメソッドにパラメータを設定します。Future.get(...)がスレッドを強制終了しないのはなぜですか?
Future<RecordMetadata> meta = producer.send(record, new ProducerCallBack());
RecordMetadata data = meta.get(10, TimeUnit.SECONDS);
しかし、スレッドは60秒後に殺さ:
java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
at org.apache.kafka.clients.producer.KafkaProducer$FutureFailure.<init>(KafkaProducer.java:1124)
at org.apache.kafka.clients.producer.KafkaProducer.doSend(KafkaProducer.java:823)
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:760)
at io.khinkali.KafkaProducerClient.main(KafkaProducerClient.java:49)
Caused by: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
私は間違って何をしていますか? docsから
タイムアウトの値を高く設定する –
私は10秒に変更します。 –
https://stackoverflow.com/questions/38457706/error-error-when-sending-message-to-topic –