Validation in the cmd handler is one thing - receiveRecover and cmd
handlers might use the same "apply state", but what it seems you suggest is
that there is no difference between applying events and creating events.
Big difference wrt. validation and replying in persist callback.
On Friday, June 26, 2015 at 8:20:30 AM UTC+1, Amir Karimi wrote:
>
> Hi,
>
> Consider the following receives methods of a PersistentActor:
>
> override def receiveRecover: Receive = {
> case CityAdded(v) => addCity(v)
> case CityRemoved(v) => removeCity(v)
> }
> override def receiveCommand: Receive = {
> case AddCity(c) => persist(CityAdded(c))(event => addCity(event.cityId))
> case RemoveCity(c) => persist(CityRemoved(c))(event =>
> removeCity(event.cityId))
> }
>
> We can call receiveRecover inside the persist block which is more DRY.
> Like this:
>
> override def receiveRecover: Receive = {
> case CityAdded(v) => addCity(v)
> case CityRemoved(v) => removeCity(v)
> }
> override def receiveCommand: Receive = {
> case AddCity(c) => persist(CityAdded(c))(receiveRecover(_))
> case RemoveCity(c) => persist(CityRemoved(c))(receiveRecover(_))
> }
>
>
> Is it correct? I didn't see anyone do that. What is the problem?
>
> Regards,
> Amir
>
--
>>>>>>>>>> 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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.