यह शायद एक बेहद सरल त्रुटि है लेकिन मैं इसे ठीक से काम नहीं कर सकता। मैं स्कैला में एक अभिनेता आधारित आवेदन बनाने के लिए अक्का 2.2.3 का उपयोग कर रहा हूं।एक अभिनेता बनाएं
object Main {
def main(args: Array[String]) = {
val system = ActorSystem("Test")
val discoverer = system.actorOf(Props[Discoverer], "discoverer")
implicit val timeout = Timeout(5.seconds)
val not = discoverer ? Messages.Find(something)
not.onComplete {
case Success(va) => println(va)
case Failure(err) => println(err)
}
...
}
}
और मुख्य अभिनेता
class Discoverer extends Actor {
override def preStart() = {
val refresher = context.actorOf(Props[Refresher], "refresher")
refresher ! Refresh
}
def receive = {
case _ => sender ! Answer
}
}
और Refresher
अभिनेता
class Refresher extends Actor {
...
}
क्या आप इस से दूर रखना चाहिए कि कोई भी है:
सरलीकृत सेटअप निम्नलिखित है मेरे कलाकारों ने रचनाकारों को पैरामीटर बनाया है।
हालांकि यह
[ERROR] [12/09/2013 13:17:06.893] [Test-akka.actor.default-dispatcher-3]
[akka://Test/user/discoverer] no matching constructor found on
class Discoverer$Refresher for arguments []
क्या मेरी त्रुटि यहाँ है के साथ विफल हो अगर मैं अपने आवेदन चलाने का प्रयास? क्या मुझे अपने अभिनेताओं को .actorOf(Props[Class], "actorname")
के साथ बनाना नहीं है?
मुझे बहुत यकीन है कि समस्या यह है कि आप एक रिफ्रेशर क्लास के लिए आंतरिक कक्षा का उपयोग कर रहे हैं। क्यों नहीं कह सकता –
@ ओम-नाम-नाम वह समस्या थी। धन्यवाद। हालांकि यह जानना अच्छा होगा कि यह मामला क्यों है। – mgttlinger