From cc99adfaacab2e51ad5ce1ff6bc1097677930f44 Mon Sep 17 00:00:00 2001 From: Georgios Gousios Date: Thu, 22 Mar 2012 11:35:24 +0200 Subject: [PATCH] Support for sending messages from user actors --- .../gr/grnet/aquarium/user/actor/UserActor.scala | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/scala/gr/grnet/aquarium/user/actor/UserActor.scala b/src/main/scala/gr/grnet/aquarium/user/actor/UserActor.scala index 12b03b0..527bd29 100644 --- a/src/main/scala/gr/grnet/aquarium/user/actor/UserActor.scala +++ b/src/main/scala/gr/grnet/aquarium/user/actor/UserActor.scala @@ -45,6 +45,7 @@ import gr.grnet.aquarium.util.Loggable import gr.grnet.aquarium.util.date.TimeHelpers import com.ckkloverdos.maybe.{Failed, NoVal, Just} import gr.grnet.aquarium.logic.accounting.RoleAgreements +import gr.grnet.aquarium.messaging.AkkaAMQP /** @@ -53,6 +54,7 @@ import gr.grnet.aquarium.logic.accounting.RoleAgreements */ class UserActor extends AquariumActor + with AkkaAMQP with ReflectiveAquariumActor with Loggable { @volatile @@ -62,6 +64,8 @@ class UserActor extends AquariumActor @volatile private[this] var _timestampTheshold: Long = _ + private[this] lazy val messenger = producer("aquarium") + def role = UserActorRole private[this] def _configurator: Configurator = Configurator.MasterConfigurator @@ -184,7 +188,7 @@ class UserActor extends AquariumActor DEBUG("New active status = %s".format(newActive)) - this._userState = this._userState.copy( activeStateSnapshot = newActive ) + this._userState = this._userState.copy(activeStateSnapshot = newActive) } def onProcessUserEvent(event: ProcessUserEvent): Unit = { @@ -192,7 +196,6 @@ class UserActor extends AquariumActor if(userEvent.userID != this._userId) { ERROR("Received %s but my userId = %s".format(userEvent, this._userId)) } else { -// ensureUserState() if(userEvent.isCreateUser) { processCreateUser(userEvent) } else if(userEvent.isModifyUser) { @@ -230,7 +233,15 @@ class UserActor extends AquariumActor override def postStop { DEBUG("Stopping, saving state") - //saveUserState + saveUserState + } + + override def preRestart(reason: Throwable) { + DEBUG("Actor failed, restarting") + } + + override def postRestart(reason: Throwable) { + DEBUG("Actor restarted succesfully") } def knownMessageTypes = UserActor.KnownMessageTypes -- 1.7.10.4