diff --git a/backend/src/main/java/ru/micord/ervu/controller/ExcerptController.java b/backend/src/main/java/ru/micord/ervu/controller/ExcerptController.java index f791366a..1126976c 100644 --- a/backend/src/main/java/ru/micord/ervu/controller/ExcerptController.java +++ b/backend/src/main/java/ru/micord/ervu/controller/ExcerptController.java @@ -1,14 +1,17 @@ package ru.micord.ervu.controller; +import java.nio.charset.StandardCharsets; import java.time.ZonedDateTime; import java.util.Optional; import java.util.TimeZone; +import java.util.UUID; import javax.servlet.http.HttpServletRequest; import com.fasterxml.jackson.databind.ObjectMapper; import ervu.client.fileupload.WebDavClient; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.ExcerptHistoryRecord; +import org.apache.kafka.clients.producer.ProducerRecord; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; @@ -70,7 +73,11 @@ public class ExcerptController { .getOffset().getId(); data.setTimeZone(offset); data.setYear(year); - kafkaTemplate.send(requestTopic, objectMapper.writeValueAsString(data)).get(); + String messageId = UUID.randomUUID().toString(); + ProducerRecord record = new ProducerRecord<>(requestTopic, + objectMapper.writeValueAsString(data)); + record.headers().add("messageId", messageId.getBytes(StandardCharsets.UTF_8)); + kafkaTemplate.send(record).get(); excerptHistoryDao.delete(ervuId, prnOid); excerptHistoryDao.insert(ervuId, prnOid); }