1
A
回答
1
在阿卡的演員可以到許多不同類型的消息作出迴應,併發送任何消息,以及...
case class Message1(id: Long)
case class Message2(thing: String)
case class Response1(x: Int)
case class Response2(y: Int)
class MyActor extends Actor with ActorLogging {
def receive = {
case Message1(id) => sender ! Response1(id)
case Message2(t) => sender ! Response2(1)
}
}
所有你需要做的是尋找他們的receive
方法case語句。
1
下面是一個示例,顯示如何處理演員的不同結果。
鑑於以下演員:
case object GiveMeAFruit
trait Fruit
case class Apple(size: Int) extends Fruit
case class Pear(color: String) extends Fruit
class FruitNinja extends Actor {
def receive = {
case GiveMeAFruit =>
if (math.random > 0.5)
sender ! Apple(42)
else
sender ! Pear("yellow")
}
}
從另一個演員
class HungryActor extends Actor {
val fruitNinja = context.actorOf(Props[FruitNinja])
override def preStart = {
context.system.scheduler.schedule(5 seconds, 5 seconds, fruitNinja, GiveMeAFruit)
}
def receive = {
// handle different returns from FruitNinja
case Apple(size) =>
println(s"Got an apple sized $size.")
case Pear(color) =>
println(s"Got a $color pear")
}
}
從 '正常' 代碼
import akka.pattern.ask
def eatSomething = {
// create an instance of the actor using an actorsystem in scope
val fruitNinja = Akka.system.actorOf(Props[FruitNinja])
(fruitNinja ? GiveMeAFruit).mapTo[Fruit].map{
// handle different returns from FruitNinja
case Apple(size) =>
println(s"Got an apple sized $size.")
case Pear(color) =>
println(s"Got a $color pear")
}
}
相關問題
- 1. Akka:等待多條消息
- 2. 處理多條消息
- 3. akka在哪裏處理消息?
- 4. Akka演員在處理第一條消息之前正在處理第二條消息
- 5. 處理無限數量的消息(akka)
- 6. Akka如何處理消息版本?
- 7. 使用Akka處理SOAP消息
- 8. Akka的演員異步消息處理
- 9. Akka未處理消息的持久性
- 10. Akka如何確保演員一次只處理一條消息
- 11. 與ActiveMQ並行處理多條消息
- 12. 演員同時處理多條消息
- 13. 在處理消息或處理完消息之前做了akka駱駝消費者出隊消息嗎?
- 14. 等待異步在Akka處理下一條消息之前的未來呼叫
- 15. 在tomcat中使用多線程處理websocket消息消息
- 16. Akka:在處理標記爲NotInfluenceReceiveTimeout的消息時調用setReceiveTimeout
- 17. 可能與Akka FSM中收到的多條消息匹配
- 18. 卡夫卡消費者可以並行處理多條消息
- 19. WebJob一次處理隊列中的多條消息
- 20. 處理消息
- 21. 處理消息
- 22. Embedded Jetty處理每條消息兩次
- 23. RapidSMS教程2,處理一條消息
- 24. 應用掛起處理幾條消息
- 25. 非類型化Actor(Java + Akka):重新處理未處理的消息
- 26. 消息隊列中的多條消息
- 27. 用Akka耐用郵箱處理事務性消息
- 28. Akka演員如何處理最新消息
- 29. Akka消息爲空
- 30. MSMQ中毒消息處理
丹科演員相通 - 是有幫助 –