diff --git a/akka-actor/src/main/scala/akka/actor/Actor.scala b/akka-actor/src/main/scala/akka/actor/Actor.scala index 56153bf94e..ce2d416aca 100644 --- a/akka-actor/src/main/scala/akka/actor/Actor.scala +++ b/akka-actor/src/main/scala/akka/actor/Actor.scala @@ -458,7 +458,7 @@ trait Actor extends Logging { private lazy val processingBehavior: Receive = { val defaultBehavior = receive val actorBehavior: Receive = { - case l: AutoReceivedMessage => autoReceiveMessage(l) + case l: AutoReceivedMessage => autoReceiveMessage(l) case msg if self.hotswap.nonEmpty && self.hotswap.head.isDefinedAt(msg) => self.hotswap.head.apply(msg) case msg if self.hotswap.isEmpty && @@ -470,7 +470,7 @@ trait Actor extends Logging { private lazy val fullBehavior: Receive = { val defaultBehavior = receive val actorBehavior: Receive = { - case l: AutoReceivedMessage => autoReceiveMessage(l) + case l: AutoReceivedMessage => autoReceiveMessage(l) case msg if self.hotswap.nonEmpty && self.hotswap.head.isDefinedAt(msg) => self.hotswap.head.apply(msg) case msg if self.hotswap.isEmpty && diff --git a/akka-actor/src/main/scala/akka/actor/ActorRef.scala b/akka-actor/src/main/scala/akka/actor/ActorRef.scala index d1092a7d0a..ed53eaf151 100644 --- a/akka-actor/src/main/scala/akka/actor/ActorRef.scala +++ b/akka-actor/src/main/scala/akka/actor/ActorRef.scala @@ -829,7 +829,16 @@ class LocalActorRef private[akka] ( else { currentMessage = messageHandle try { - dispatch(messageHandle) + Actor.log.slf4j.trace("Invoking actor with message: {}\n", messageHandle) + try { + cancelReceiveTimeout // FIXME: leave this here? + actor(messageHandle.message) + } catch { + case e: InterruptedException => {} // received message while actor is shutting down, ignore + case e => handleExceptionInDispatch(e, messageHandle.message) + } finally { + checkReceiveTimeout // Reschedule receive timeout + } } catch { case e => Actor.log.slf4j.error("Could not invoke actor [{}]", this) @@ -1003,22 +1012,6 @@ class LocalActorRef private[akka] ( a } - private def dispatch[T](messageHandle: MessageInvocation) = { - Actor.log.slf4j.trace("Invoking actor with message: {}\n", messageHandle) - val message = messageHandle.message //serializeMessage(messageHandle.message) - - try { - cancelReceiveTimeout // FIXME: leave this here? - actor(message) - } catch { - case e: InterruptedException => {} // received message while actor is shutting down, ignore - case e => handleExceptionInDispatch(e, message) - } - finally { - checkReceiveTimeout // Reschedule receive timeout - } - } - private def shutDownTemporaryActor(temporaryActor: ActorRef) { Actor.log.slf4j.info("Actor [{}] configured as TEMPORARY and will not be restarted.", temporaryActor.id) temporaryActor.stop