2

現在、ブロードキャスト IP アドレスを使用してアクター システムをセットアップしているため、リモートの akka アクターの IP アドレスを取得する方法があるかどうか疑問に思っていました (これが機能しているように見える唯一の方法です)。現在、アクター パスを確認できますが、ブロードキャスト IP はネットワーク用であるため、アクター パスが存在するマシンを正確に知りたいと考えています。

マスター アクターのコードの一部を次に示します。

# remote actor config
remotecreation{ #user defined name for the configuration
    include "common"
    akka {
            actor{
                    deployment{
                            /remoteActor{   #Specifically has to be the name of the remote actor
                                    router = "round-robin"
                                    nr-of-instances = 10
                                    target {
                                            nodes = ["akka://RemoteCreation@172.17.100.232:2554", "akka://RemoteCreation@172.17.100.224:2554"]
                                    }
                            }
                    }
            }
    remote.netty.port = 2554
    }

    remote{
            log-received-messages = on
            log-sent-messages = on
    }
}

マスター定義は次のとおりです。

class Master(goodies: AuthNetActorObject) extends Actor {

var start: Long = _ // helps measure the calculation time

def receive = {
case "start" => {
  System.out.println("Master Started!")
  System.out.println("The master is at: " + self.path.toString())
...
        }
    }
}

アクターを初期化して強打する場所は次のとおりです。

object Payment extends Controller {
    var goodies: AuthNetActorObject = null
    val system = ActorSystem("RemoteCreation",ConfigFactory.load.getConfig("remotecreation"))
    ...
    val master = system.actorOf(Props(new Master(actorObject)))
    master ! "start"
    ...
}
4

1 に答える 1

4

使用するactorRef.path.address.host

于 2012-09-07T00:13:35.130 に答える