Вот сценарий, и, кстати, я ищу Java-ориентированный ответ.
- Код клиента вызывает REST Service A (POST) из приложения провайдера № 1.
- Код клиента напрямую обновляет внутреннюю базу данных с использованием JDBC.
- Код клиента вызывает REST Service B (POST) из приложения провайдера № 2.
- Шаги с 1 по 3 должны выполняться в распределенной транзакции с поддержкой двухфазной фиксации, т. Е. В случае сбоя обновления базы данных на шаге 2, мы хотим отменить процедуру POST на шаге 1. Если POST шага 3 завершается неудачно, мы хотим отменить POST шага 1 и обновление базы данных шага 2.
Есть ли способ, которым мы можем сделать это, используя JTA, не записывая свой собственный код компенсации (чтобы отменить шаги 1 и 2)?