Added some more localActorOf methods and use them internally in cluster

This commit is contained in:
Jonas Bonér 2011-06-17 12:07:45 +02:00
parent 1997d971a0
commit 241831c5ee
2 changed files with 14 additions and 2 deletions

View file

@ -317,14 +317,26 @@ object Actor extends ListenerManagement {
newLocalActorRef(manifest[T].erasure.asInstanceOf[Class[_ <: Actor]], new UUID().toString)
}
def localActorOf[T <: Actor: Manifest](address: String): ActorRef = {
newLocalActorRef(manifest[T].erasure.asInstanceOf[Class[_ <: Actor]], address)
}
def localActorOf[T <: Actor](clazz: Class[T]): ActorRef = {
newLocalActorRef(clazz, new UUID().toString)
}
def localActorOf[T <: Actor](clazz: Class[T], address: String): ActorRef = {
newLocalActorRef(clazz, address)
}
def localActorOf[T <: Actor](factory: T): ActorRef = {
new LocalActorRef(() factory, new UUID().toString, Transient)
}
def localActorOf[T <: Actor](factory: T, address: String): ActorRef = {
new LocalActorRef(() factory, address, Transient)
}
/**
* Use to spawn out a block of code in an event-driven actor. Will shut actor down when
* the block has been executed.

View file

@ -283,7 +283,7 @@ class DefaultClusterNode private[akka] (
import Cluster._
lazy val remoteClientLifeCycleListener = actorOf(new Actor {
lazy val remoteClientLifeCycleListener = localActorOf(new Actor {
def receive = {
case RemoteClientError(cause, client, address) client.shutdownClientModule()
case RemoteClientDisconnected(client, address) client.shutdownClientModule()
@ -291,7 +291,7 @@ class DefaultClusterNode private[akka] (
}
}, "akka.cluster.RemoteClientLifeCycleListener").start()
lazy val remoteDaemon = actorOf(new RemoteClusterDaemon(this), RemoteClusterDaemon.ADDRESS).start()
lazy val remoteDaemon = localActorOf(new RemoteClusterDaemon(this), RemoteClusterDaemon.ADDRESS).start()
lazy val remoteDaemonSupervisor = Supervisor(
SupervisorConfig(