Distributed Transaction, Saga Pattern, Axon Framework, Spring Boot, Microservices.
public void handle(CompleteShipEvent event) { //IF SHIPMENT ERROR ROLL BACK ORDER if(event.getShipmentStatus().equalsIgnoreCase("ERROR")) { cancelPaymentCommand(event); }else { //SagaLifecycle.associateWith("orderId", event.getOrderId()); //Ship is complete, Complete the order CompleteOrderCommand