Opplyblefuture.whencoMplete () с вызовом транзакционного метода не работаетJAVA

Программисты JAVA общаются здесь
Anonymous
Opplyblefuture.whencoMplete () с вызовом транзакционного метода не работает

Сообщение Anonymous »

У меня есть класс в моем приложении Spring Boot 3, которое отправляет сообщение Kafka, и обновляет статус уведомления и отчет после отправки сообщения: < /p>
public class SomeSender {

KafkaTemplate kafkaTemplate;
NotificationService notificationService;
NotificationReportService notificationReportService;

public void send(Notification notification) {
kafkaTemplate.send(notification).whenComplete((success, error) -> {
updateNotificationStatus(notification);
notificationReportService.createReport(notification);
});
}

private void updateNotificationStatus(Notification notification) {
// some logic
notificationService.update(notification);
}
}
< /code>
оба уведомления service.update (уведомление) и уведомление reportservice.createreport (уведомление) помечены @Transactional. < /p>
Проблема заключается в том, что статус уведомления не обновляется, и некоторые отчеты частично сохраняются или не сохранены вообще. Похоже, что транзакционные методы не работают правильно внутри WhatComplete ().
Что может быть причиной этой проблемы, и как я могу убедиться, что методы @Transaction работают в этом случае?

Подробнее здесь: https://stackoverflow.com/questions/795 ... ot-working

Вернуться в «JAVA»