Önceden oluşturulmuş bir aktörü seçmeye çalışıyorum. İşte bir kod geçerli: ActorSelection ile akka aktör nasıl seçilir?
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
Ayrıca ben aktör bir mesaj geçebilir ve iyi tamamlar:
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)
sonucudur. ActorSelection sırasında neleri özledim? Oyuncu nasıl düzgün seçilir?
olması çok tuhaf GÜNCELLEME ama yerine ne zaman system.actorSelection("/user/myActorName/").resolveOne().value
ile system.actorFor("/user/myActorName/")
her şey çalışıyor. Yani actorFor
bir oyuncu döndürüyor. (Hangi actorFor
nedeniyle doğru bir çözüm değildir)
Çok şaşırtıcı :) Ben 'resolOne' içinde 'kapalı zaman aşımı' beklemek ve sonuç sağlamak için kullanılan olduğunu düşündüm. – Cherry
Nope :). Scaladoc: "Böyle bir aktör yoksa veya tanımlanmış zamanaşımı içinde kimlik tamamlanmadıysa, başarısızlık ActorNotFound ile tamamlandı" – dk14
Gelecekte tamamlanma veya başarısızlık için kullanılan zaman aşımı süresi geldiğinde, ancak yine de bu gelecekteki klasik yolu işlemek zorundasınız – dk14