Мое приложение управляет сущностями размаха, и я реализовал некоторые операции CRUD в контроллере ресурсов.
Я отметил это контроллер с @Transactional(как предлагает документация) и на всякий случай я добавил глобальный обработчик исключений, который выглядит примерно как следующий фрагмент:
Код: Выделить всё
import jakarta.ws.rs.core.Response;
import org.jboss.resteasy.reactive.server.ServerExceptionMapper;
public class MyExceptionHandler {
@ServerExceptionMapper
public Response entityToBig(EntityToBigException e) {
return Response.status(Response.Status.BAD_REQUEST)
// ErrorMessage is just a record to hold the message
.entity(new ErrorMessage("Error", e.getMessage(), Response.Status.BAD_REQUEST.getStatusCode())).build();
}
//... other handlers
}
Если я выдаю исключение, которое не обрабатывается моим классом ExceptionHandler, откат транзакции работает нормально...
Я не смог найти никакой другой документации по этой проблеме, поэтому я очень озадачен тем, как решить эту проблему/вручную сказать менеджеру транзакций, чтобы он откатил мои изменения.
Подробнее здесь: https://stackoverflow.com/questions/787 ... on-handler