1

I have a saga that can handle multiple messages like so:

 public class OrderSaga : ISaga<Order>
        , InitiatedBy<StartOrderSaga>
        , Orchestrates<CancelOrder>
        , Orchestrates<PaymentForOrderReceived>
        , Orchestrates<CheckOrderWasPaid>
        , Orchestrates<OrderAbandoned>
        , Orchestrates<CheckOrderHasBeenShipped>
        , Orchestrates<OrderShipped>
        , Orchestrates<CheckOrderHasDelayDuringShipment>
        , Orchestrates<OrderArrivedAtDestination>
        , Orchestrates<OrderCompleted>
    {...}

but only Orchestrates<CancelOrder> seems to be picked up. So I suppose (I did not find the line, but am under a strong impression this is so), that only the first Orchestrates is registered.

Probably this is by design. From what I imagined a saga to be, it seems only logical that it receives many different messages, but I might be wrong. I might be wrong with my whole assumption, too :)

How am I supposed to handle this? Are Sagas supposed to only handle one (in my case) a ChangeStateMessage<State> or should I wire the other ConsumerOfs/Orchestrates by hand?

Jan
  • 6,532
  • 9
  • 37
  • 48
  • with wire I mean - register the to the container – Jan May 26 '10 at 19:49
  • seems i was wrong. using publish silently killed the thread leaving me under a wrong impression. with send everything is working as expected. note to self: publish means there must be a receiver, send says there might be none, obviously. that's the opposite of what one would think. – Jan May 26 '10 at 20:35

0 Answers0