асинхронный вызов не работает с Callback (), программа ожидает завершения send () и не выполняет следующую строку сразу.в коде
ProducerRecord<Long, String> record = new ProducerRecord<Long, String>(TOPIC, text);
...
producer.send(record,new Callback() {
@Override
public void onCompletion(RecordMetadata metadata, Exception exception) {
logger.info("sent to kafka");
}
});
logger.info("ACEEVNTMNGR: i am not waiting for the return");
...
Код не выполняет следующую строку, а выполняет его только после того, как отобразятся тайм-ауты соединения и отображается сообщение «отправлено на kafka».На самом деле существует проблема с подключением к kafka и получением ошибки:
"Не удалось установить соединение с узлом -1. Брокер может быть недоступен."
, но яЯ надеюсь, что из-за вызова Asynchronus он не должен ждать до истечения времени ожидания, а выполнить logger.info("ACEEVNTMNGR: i am not waiting for the return");
до того, как истечет время ожидания.