A
kafkaTemplate не final и меняется, тогда, наверное, оправдано@Override
public void publishEvent(eventData)
{
...
kafkaProducerTemplateLock.readLock().lock();
try
{
kafkaTemplate.send(topic, key, eventPayload);
}
finally
{
kafkaProducerTemplateLock.readLock().unlock();
}
}
@Override
public void refreshConfiguration()
{
kafkaProducerTemplateLock.writeLock().lock();
try
{
if (kafkaProducerFactory instanceof DisposableBean)
{
((DisposableBean) kafkaProducerFactory).destroy();
}
...
kafkaTemplate = new KafkaTemplate<>(kafkaProducerFactory);
}
catch (Exception e)
{
LOG.error(e);
}
finally
{
kafkaProducerTemplateLock.writeLock().unlock();
}
}
