diff --git a/akka-core/src/main/scala/actor/Actor.scala b/akka-core/src/main/scala/actor/Actor.scala index 8ff0b518f3..120bea199d 100644 --- a/akka-core/src/main/scala/actor/Actor.scala +++ b/akka-core/src/main/scala/actor/Actor.scala @@ -440,11 +440,3 @@ trait Actor extends Logging { override def toString = self.toString } - -// FIXME remove the ActorMessageInvoker class -/** - * @author Jonas Bonér - */ -class ActorMessageInvoker private[akka] (val actorRef: ActorRef) extends MessageInvoker { - def invoke(handle: MessageInvocation) = actorRef.invoke(handle) -} diff --git a/akka-core/src/main/scala/dispatch/AbstractReactorBasedEventDrivenDispatcher.scala b/akka-core/src/main/scala/dispatch/AbstractReactorBasedEventDrivenDispatcher.scala index 72e94526ce..832ae9203a 100644 --- a/akka-core/src/main/scala/dispatch/AbstractReactorBasedEventDrivenDispatcher.scala +++ b/akka-core/src/main/scala/dispatch/AbstractReactorBasedEventDrivenDispatcher.scala @@ -7,19 +7,19 @@ package se.scalablesolutions.akka.dispatch import java.util.{LinkedList, Queue, List} import java.util.HashMap -import se.scalablesolutions.akka.actor.{ActorMessageInvoker, Actor, ActorRef} +import se.scalablesolutions.akka.actor.{Actor, ActorRef} abstract class AbstractReactorBasedEventDrivenDispatcher(val name: String) extends MessageDispatcher { @volatile protected var active: Boolean = false protected val queue = new ReactiveMessageQueue(name) - protected val messageInvokers = new HashMap[AnyRef, MessageInvoker] + protected val messageInvokers = new HashMap[ActorRef, ActorRef] protected var selectorThread: Thread = _ protected val guard = new Object def dispatch(invocation: MessageInvocation) = queue.append(invocation) override def register(actorRef: ActorRef) = synchronized { - messageInvokers.put(actorRef, new ActorMessageInvoker(actorRef)) + messageInvokers.put(actorRef, actorRef) super.register(actorRef) } diff --git a/akka-core/src/main/scala/dispatch/ThreadBasedDispatcher.scala b/akka-core/src/main/scala/dispatch/ThreadBasedDispatcher.scala index f5d8c034c1..5c1cb78a52 100644 --- a/akka-core/src/main/scala/dispatch/ThreadBasedDispatcher.scala +++ b/akka-core/src/main/scala/dispatch/ThreadBasedDispatcher.scala @@ -7,17 +7,16 @@ package se.scalablesolutions.akka.dispatch import java.util.concurrent.LinkedBlockingQueue import java.util.Queue -import se.scalablesolutions.akka.actor.{Actor, ActorRef, ActorMessageInvoker} +import se.scalablesolutions.akka.actor.{Actor, ActorRef} /** * Dedicates a unique thread for each actor passed in as reference. Served through its messageQueue. * * @author Jonas Bonér */ -class ThreadBasedDispatcher(actor: ActorRef) extends MessageDispatcher { +class ThreadBasedDispatcher(private val actor: ActorRef) extends MessageDispatcher { private val name = actor.getClass.getName + ":" + actor.uuid private val threadName = "thread-based:dispatcher:" + name - private val messageHandler = new ActorMessageInvoker(actor) private val queue = new BlockingMessageQueue(name) private var selectorThread: Thread = _ @volatile private var active: Boolean = false @@ -30,7 +29,7 @@ class ThreadBasedDispatcher(actor: ActorRef) extends MessageDispatcher { override def run = { while (active) { try { - messageHandler.invoke(queue.take) + actor.invoke(queue.take) } catch { case e: InterruptedException => active = false } } }