Механизм отката для сторонних сервисовJAVA

Программисты JAVA общаются здесь
Anonymous
Механизм отката для сторонних сервисов

Сообщение Anonymous »

У меня есть три разных сторонних сервиса, и я пытаюсь вызвать их все с помощью одного метода дескриптора. Кроме того, я хочу выполнить операцию отката. Но я не уверен в реализации. Вот мой код:

Код: Выделить всё

void handle() {
service1.create();
callService2OrRollback();
callService3OrRollback()
}

void callService2OrRollback() {
try {
service2.create();
} catch(Exception e) {
service1.delete();
throw e;
}
}

void callService3OrRollback() {
try {
service3.create();
} catch(Exception e) {
service1.delete();
service2.delete();
throw e;
}
}
Есть ли лучший способ реализовать механизмы отката? Кстати, я использую Java и Spring-Boot.

Подробнее здесь: https://stackoverflow.com/questions/781 ... y-services

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