Share same instance of deadLetters between LARP and RARP, see #2983
This commit is contained in:
parent
46a6e34103
commit
f89dd49954
2 changed files with 12 additions and 6 deletions
|
|
@ -77,6 +77,7 @@ object RemoteActorRefProvider {
|
|||
}
|
||||
|
||||
override def specialHandle(msg: Any): Boolean = msg match {
|
||||
// unwrap again in case the original message was DeadLetter(EndpointManager.Send(m))
|
||||
case EndpointManager.Send(m, _, _) ⇒ super.specialHandle(m)
|
||||
case _ ⇒ super.specialHandle(msg)
|
||||
}
|
||||
|
|
@ -111,14 +112,15 @@ class RemoteActorRefProvider(
|
|||
*/
|
||||
protected def createDeployer: RemoteDeployer = new RemoteDeployer(settings, dynamicAccess)
|
||||
|
||||
private val local = new LocalActorRefProvider(systemName, settings, eventStream, scheduler, dynamicAccess, deployer)
|
||||
private val local = new LocalActorRefProvider(systemName, settings, eventStream, scheduler, dynamicAccess, deployer,
|
||||
Some(deadLettersPath ⇒ new RemoteDeadLetterActorRef(this, deadLettersPath, eventStream)))
|
||||
|
||||
@volatile
|
||||
private var _log = local.log
|
||||
def log: LoggingAdapter = _log
|
||||
|
||||
override def rootPath: ActorPath = local.rootPath
|
||||
override val deadLetters: InternalActorRef = new RemoteDeadLetterActorRef(this, rootPath / "deadLetters", eventStream)
|
||||
override def deadLetters: InternalActorRef = local.deadLetters
|
||||
|
||||
// these are only available after init()
|
||||
override def rootGuardian: InternalActorRef = local.rootGuardian
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue