#1424 - RemoteSupport is now instantiated from the config, so now anyone can write their own Akka transport layer for remote actors
This commit is contained in:
parent
b2ecad1327
commit
95791ce4c5
7 changed files with 17 additions and 11 deletions
|
|
@ -297,7 +297,7 @@ class DefaultClusterNode private[akka] (
|
|||
:: Nil)).start()
|
||||
|
||||
lazy val remoteService: RemoteSupport = {
|
||||
val remote = new akka.cluster.netty.NettyRemoteSupport
|
||||
val remote = new akka.remote.netty.NettyRemoteSupport
|
||||
remote.start(hostname, port)
|
||||
remote.register(RemoteClusterDaemon.Address, remoteDaemon)
|
||||
remote.addListener(RemoteFailureDetector.sender)
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
akka {
|
||||
|
||||
remote {
|
||||
transport = "akka.cluster.netty.NettyRemoteSupport"
|
||||
transport = "akka.remote.netty.NettyRemoteSupport"
|
||||
|
||||
use-compression = off
|
||||
|
||||
|
|
|
|||
|
|
@ -71,14 +71,20 @@ class Remote(val system: ActorSystemImpl, val nodename: String) {
|
|||
lazy val eventStream = new NetworkEventStream(system)
|
||||
|
||||
lazy val server: RemoteSupport = {
|
||||
val remote = new akka.remote.netty.NettyRemoteSupport(system)
|
||||
remote.start() //TODO Any application loader here?
|
||||
//new akka.remote.netty.NettyRemoteSupport(system)
|
||||
ReflectiveAccess.createInstance[RemoteSupport](remoteExtension.RemoteTransport, Array[Class[_]](classOf[ActorSystem]), Array[AnyRef](system)) match {
|
||||
case Left(problem) ⇒
|
||||
log.error(problem, "Could not load remote transport layer")
|
||||
throw problem
|
||||
case Right(remote) ⇒
|
||||
remote.start(None) //TODO Any application loader here?
|
||||
|
||||
system.eventStream.subscribe(eventStream.sender, classOf[RemoteLifeCycleEvent])
|
||||
system.eventStream.subscribe(remoteClientLifeCycleHandler, classOf[RemoteLifeCycleEvent])
|
||||
|
||||
remote
|
||||
}
|
||||
}
|
||||
|
||||
def start(): Unit = {
|
||||
val serverAddress = server.system.asInstanceOf[ActorSystemImpl].provider.rootPath.remoteAddress //Force init of server
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ class RemoteConfigSpec extends AkkaSpec("akka.cluster.nodename = node1") {
|
|||
import config._
|
||||
|
||||
//akka.remote
|
||||
getString("akka.remote.transport") must equal("akka.cluster.netty.NettyRemoteSupport")
|
||||
getString("akka.remote.transport") must equal("akka.remote.netty.NettyRemoteSupport")
|
||||
getString("akka.remote.secure-cookie") must equal("")
|
||||
getBoolean("akka.remote.use-passive-connections") must equal(true)
|
||||
// getMilliseconds("akka.remote.remote-daemon-ack-timeout") must equal(30 * 1000)
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ akka {
|
|||
# secure-cookie = "050E0A0D0D06010A00000900040D060F0C09060B" # generate your own with '$AKKA_HOME/scripts/generate_secure_cookie.sh' or using 'Crypt.generateSecureCookie'
|
||||
secure-cookie = ""
|
||||
|
||||
layer = "akka.cluster.netty.NettyRemoteSupport"
|
||||
layer = "akka.remote.netty.NettyRemoteSupport"
|
||||
|
||||
server {
|
||||
hostname = "localhost" # The hostname or IP that clients should connect to
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import org.springframework.context.support.ClassPathXmlApplicationContext
|
|||
import org.springframework.core.io.{ ClassPathResource, Resource }
|
||||
import org.scalatest.{ BeforeAndAfterAll, FeatureSpec }
|
||||
import java.util.concurrent.CountDownLatch
|
||||
import akka.cluster.netty.NettyRemoteSupport
|
||||
import akka.remote.netty.NettyRemoteSupport
|
||||
import akka.actor._
|
||||
import akka.actor.Actor._
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import org.scalatest.matchers.ShouldMatchers
|
|||
import org.scalatest.junit.JUnitRunner
|
||||
import org.junit.runner.RunWith
|
||||
import org.springframework.context.support.ClassPathXmlApplicationContext
|
||||
import akka.cluster.netty.NettyRemoteSupport
|
||||
import akka.remote.netty.NettyRemoteSupport
|
||||
import org.scalatest.{ BeforeAndAfterAll, FeatureSpec }
|
||||
|
||||
import java.util.concurrent.CountDownLatch
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue