mon environnement est scala akka et le jeu! cadre. Je me demandais s'il y avait de toute façon à contrôler la création d'un système d'acteur ou d'autres idées qui le peuvent.Akka ActorSystem Control
Mon idée est de créer des acteurs distants qui géreront l'autorisation lorsqu'un utilisateur clique sur acheter. Et donc, je crée le système d'acteur à distance et les acteurs dans une méthode d'action, lorsqu'un utilisateur fait un message:
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()
}
Voici la définition de remotecreation dans le 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
}
}
Le problème Je l'ai, c'est que, lorsque je le soumets deux fois de suite, j'obtiens une erreur parce que j'essaie de créer un système d'acteur sur une adresse IP qui a déjà un système d'acteur.
Je pense vraiment que je dois le déplacer, mais je ne suis pas sûr d'où, parce que cela va être un jeu multi-utilisateur! application, je ne suis pas sûr où je peux mettre la création du système d'acteur sans être en conflit lorsque des centaines d'utilisateurs utilisent l'application.
Toute idée, suggestion ou aide est appréciée.
Les exemples proviennent d'un projet de mine de mes compagnons utilisant des interprètes scala à distance. – ron