मैं पहले से ही एक अभिनेता का चयन करने की कोशिश कर रहा हूं। यहाँ एक कोड है:अभिनेता चयन के साथ अक्का अभिनेता का चयन कैसे करें?
val myActor = system.actorOf(Props(classOf[MyActor]), "myActorName")
println("myActor path - " + akka.serialization.Serialization.serializedActorPath(myActor))
println("Selection from spec akka://unit-test/user/myActorName " + system.actorSelection("akka://unit-test/user/myActorName").resolveOne().value)
println("Selection from spec /user/myActorName/ " + system.actorSelection("/user/myActorName/").resolveOne().value)
परिणाम है:
myActor path - akka.tcp://[email protected]:46635/user/myActorName#1444872428
Selection from spec akka://unit-test/user/myActorName None
Selection from spec /user/myActorName/ None
इसके अलावा, मैं अभिनेता के लिए एक संदेश पारित कर सकते हैं और यह अच्छी तरह पूरा करता है। अभिनेता चयन के दौरान मुझे क्या याद आया? अभिनेता का चयन कैसे करें?
यह बहुत ही अजीब है UPDATED, लेकिन जब मैं की जगह system.actorSelection("/user/myActorName/").resolveOne().value
साथ system.actorFor("/user/myActorName/")
सब कुछ काम करता है। मेरा मतलब है actorFor
एक अभिनेता लौटाता है। (actorFor
के कारण कोई सही समाधान नहीं है)
बहुत आश्चर्यजनक :) मैंने सोचा कि 'resolOne' में 'अंतर्निहित टाइमआउट' का उपयोग प्रतीक्षा और परिणाम प्रदान करने के लिए किया जाता है। – Cherry
नहीं :)। स्कालाडोक: "यह विफलता अभिनेता नॉटफाउंड के साथ पूरा हो गया है यदि कोई ऐसा अभिनेता मौजूद नहीं है या आपूर्ति समय-समय पर पहचान पूरी नहीं हुई है" – dk14
तो समय-समय पर भविष्य को पूरा करने या विफल करने के लिए उपयोग किया जाता है, लेकिन आपको अभी भी इस भविष्य के शास्त्रीय तरीके से संसाधित करना होगा – dk14