Казалось бы, что может пойти не так при обычном вызове
KafkaTemplate.send()? Метод возвращает Future, ошибки обрабатываются в коллбэке, всё выглядит ок.Но после сетевого сбоя приложение начинает бесконечно выбрасывать
IllegalMonitorStateException, помогает только перезапуск.В статье от нашего участника Spring АйО Академии, Евгения Рудикова, развернулся настоящий технический детектив: корутины, скрытая блокировка в Kafka Producer, вложенные synchronized, JIT-компиляция, CodeCache и баг OpenJDK. Разбираемся, как и в JVM могут быть баги, которые проявляются в определённых условиях, и почему библиотечный код стоит заранее считать потенциально блокирующим.
📎 Полный текст: https://habr.com/ru/companies/spring_aio/articles/1064528/
