kafkaProducerTemplateLock.readLock().lock();
try
{
kafkaTemplate.send(topic, key, eventPayload);
}
finally
{
kafkaProducerTemplateLock.readLock().unlock();
}
Кто нибудь знает, зачем надо лочить отправку сообщений?
Скорее всего бессмысленная затея. Во-первых, KafkaTemplate можно использовать из разных потоков, во-вторых, метод send() вообще асинхронный, там почти ничего не происходит
похоже разобрался зачем. Там в другом методе есть пересоздание темплейта, и оно блочится на запись. Скорее всего это сделано для того, чтобы в рантайме можно было переконфигурировать темплейт, а тот кто хотел послать сообщение не упал с NPE
Обсуждают сегодня