我的環境是斯卡拉阿卡和玩!框架。我想知道是否有控制演員系統或任何其他想法的創建。Akka演員系統控制
我的想法是創建一個遠程演員,當用戶點擊購買時將處理授權。所以,我創建的操作方法的遠程系統的演員和演員,當用戶執行後:
def payment = Action { implicit request =>
var actorObject: Array[String] = new Array[String](23)
val system = ActorSystem("RemoteSystem", ConfigFactory.load.getConfig("remotecreation")
val worker = system.actorOf(Props[authNetActor.AuthNetActorMain].withRouter(FromConfig()), name = "remoteActor")
...
system.shutdown()
}
這裏是在application.conf
remotecreation { #user defined name for the configuration
include "common"
akka {
actor {
serialize-messages = on
serialize-creators = on
serializers {
proto = "akka.serialization.ProtobufSerializer"
java = "akka.serialization.JavaSerializer"
arr = "models.ArraySerializer"
}
serialization-bindings {
"com.google.protobuf.Message" = proto
"java.lang.String" = java
"java.util.Arrays" = java
"scala.Array" = arr
"akka.actor.ActorRef" = java
}
deployment {
/remoteActor { #Specifically has to be the name of the remote actor
remote = "akka://[email protected]:2552"
router = "round-robin"
nr-of-instances = 1
}
}
}
remote.netty.port = 2554
}
}
的問題remotecreation的定義我遇到的情況是,當我連續兩次提交時,我得到一個錯誤,因爲我試圖在一個已經有一個actor系統的ip地址上創建一個actor系統。
我絕對認爲我需要移動它,但我不確定在哪裏,因爲這將是一個廣泛的多用戶遊戲!應用程序,我不確定我可以在哪裏將創建演員系統的位置在數百個用戶使用該應用程序時不會發生衝突。
任何想法,建議或幫助表示讚賞。
這些例子來自我的一個使用遠程scala解釋器的玩具項目。 – ron