2016-05-16 2 views
0

Потенциальным источником серьезных ошибок было бы, если сообщение отправлено, пока производитель закрыт. Это заставляет мое приложение зависать бесконечно.Проверка закрытия KafkaProducer. (Java, 0.9)

Я хотел бы обработать этот случай надлежащим образом, подняв ошибку, но, похоже, в API нет способа проверить, закрыт ли производитель.

https://kafka.apache.org/090/javadoc/index.html?org/apache/kafka/clients/producer/KafkaProducer.html

Есть ли способ сделать это?

ответ

0

Вы можете совершать звонки производителю асинхронным способом (иначе в другом потоке), чтобы ваша основная программа продолжала выполнение. Затем вы можете добавить некоторое измерение времени вокруг потока производителя и поднять исключение, распечатать ошибку для регистрации, сохранить неотправленное сообщение в DB и т. Д. И убить поток.

Смежные вопросы