public interface Callback
A callback interface that the user can implement to allow code to execute when the request is complete. This callback will generally execute in the background I/O thread so it should be fast.
onCompletionA callback method the user can implement to provide asynchronous handling of request completion. This method will be called when the record sent to the server has been acknowledged. When exception is not null in the callback, metadata will contain the special -1 value for all fields. If topicPartition cannot be choosen, a -1 value will be assigned.
metadata- The metadata for the record that was sent (i.e. the partition and offset). An empty metadata with -1 value for all fields will be returned if an error occurred.
exception- The exception thrown during processing of this record. Null if no error occurred. Possible thrown exceptions include: Non-Retriable exceptions (fatal, the message will never be sent): InvalidTopicException OffsetMetadataTooLargeException RecordBatchTooLargeException RecordTooLargeException UnknownServerException UnknownProducerIdException InvalidProducerEpochException Retriable exceptions (transient, may be covered by increasing #.retries): CorruptRecordException InvalidMetadataException NotEnoughReplicasAfterAppendException NotEnoughReplicasException OffsetOutOfRangeException TimeoutException UnknownTopicOrPartitionException