onCommand
Moving on an order that is no longer submitted, one cancelled meanwhile say, changes nothing.
@OnCommand(produces = [OrderStockItemConfirmed::class, OrderStockConfirmed::class], schedules = [CancelOrder::class] )
Confirms one product. A confirmation the order does not wait for changes nothing: one read again from the stock stream, or one that arrives after another product's shortage cancelled the order (that reservation is released when the inventory hears of the cancellation).
Cancelling a cancelled order changes nothing: the saga cancels once for each product the inventory refused.