remote cleanup: include feedback from Viktor and Patrik

- re-label Client/Server to Inbound/Outbound for netty settings
  description
- move to just using exactly one class loader for all reflective
  activities of the ActorSystem, which is either the context class
  loader or the one which loaded the ActorSystem’s class; document that
  putting Akka on boot class path will not work
- be more careful with initializing the Client- and ServerBootstrap
- rename Port to DesiredPortFromConfig to discourage misuse
- write test for NettySettings
- various small fixes
This commit is contained in:
Roland 2012-01-30 11:48:02 +01:00
parent 2bebf29c1c
commit 4fb0858e55
19 changed files with 141 additions and 83 deletions

View file

@ -22,11 +22,12 @@ class RemoteActorRefProvider(
val systemName: String,
val settings: ActorSystem.Settings,
val eventStream: EventStream,
val scheduler: Scheduler) extends ActorRefProvider {
val scheduler: Scheduler,
val classloader: ClassLoader) extends ActorRefProvider {
val remoteSettings = new RemoteSettings(settings.config, systemName)
val deployer = new RemoteDeployer(settings)
val deployer = new RemoteDeployer(settings, classloader)
private val local = new LocalActorRefProvider(systemName, settings, eventStream, scheduler, deployer)
@ -87,7 +88,7 @@ class RemoteActorRefProvider(
classOf[ActorSystemImpl] -> system,
classOf[RemoteActorRefProvider] -> this)
ReflectiveAccess.createInstance[RemoteTransport](fqn, args, getClass.getClassLoader) match {
ReflectiveAccess.createInstance[RemoteTransport](fqn, args, system.internalClassLoader) match {
case Left(problem) throw new RemoteTransportException("Could not load remote transport layer " + fqn, problem)
case Right(remote) remote
}