runCompensation

@Transactional(propagation = Propagation.REQUIRES_NEW)
open override fun runCompensation(sagaId: String)(source)

Runs the compensation pipeline for sagaId in a fresh REQUIRES_NEW transaction. No-op if the saga is in a terminal status (SagaStatus.COMPLETED, SagaStatus.COMPENSATED or SagaStatus.FAILED). Safe to call repeatedly — the watchdog uses this method to retry compensation for stuck sagas.