我很新,Actors正在试用它们,但我得到了这个例外,我不明白为什么我会得到它
ValueError: Error when checking input: expected conv2d_1_input to have 4 dimensions, but got array with shape (256, 256, 1000)
答案 0 :(得分:1)
我不确定为什么会生成死信。但是问题模式的简单实现是
import akka.actor.{Actor, ActorSystem, Props}
import akka.pattern.ask
import akka.util.Timeout
import scala.concurrent.ExecutionContext.Implicits.global
object AskPattern extends App {
case object AskName
class Name extends Actor{
override def receive: Receive = {
case AskName => sender ! "Helmy"
case s : String => println(s)
}
}
implicit val timeout: akka.util.Timeout = Timeout.apply(1,java.util.concurrent.TimeUnit.SECONDS)
val systemActor = ActorSystem("AskPattern")
val actor1 = systemActor.actorOf(Props[Name],"Umair")
val actor2 = systemActor.actorOf(Props[Name],"Farooq")
actor2 ? AskName map { x => println(s"Resolved future $x") }
}
这是demo
答案 1 :(得分:0)
请提供完整的输出,以便我们可以尝试看看究竟发生了什么。
死信表示您要发送邮件的演员无法访问:邮件丢失。
首先请注意:
sender
取决于收到的上一条消息的上下文。它不是值,而是功能(每次收到消息时都会更改)。因此,请使用sender()
代替sender
。
第二个注意事项: 您尝试实现的目标称为问题模式,而akka为此提供了便利。你应该看一下the documentation。