>
> That would mean that developing such an application could be quite 
> different from developing a local application,
> where state is spread over many objects. (Or rather, the only way to 
> change state in another object would be that
> the other object is an Actor as well and it receives an event that is 
> raised. But what if it does not receive the event
> during replay? Wouldn't that corrupt the overall state of the application?)
>

I'm not sure what better minds think of this, but I've avoided raising 
events for other actors or systems to consume during
restart. The classic is the "paid" event for an order -- it's essential for 
the order to realize the amount due's been paid as it's
recovering, but if it emits the "paid" event again, will something else 
count the order as having been paid twice?

I've taken the approach that if an actor needs to recover state after a 
restart, it's responsible for that. So I have a case where
a CQRS pattern has both the "command" actors and the "query" actor doing 
even persistence. The "query" actor replays
all the events it's seen from the "command" actors, so there's no 
double-counting. 


-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to