Отправить полезную нагрузку при отправке сообщения актеру akka
Есть ли способ добавить какой-то payload
(прикрепленное сообщение) при отправке сообщения актеру akka? Я знаю, что есть способ сделать это, используя routers
, но может ли это быть достигнуто простой передачей сообщений?
Под простой передачей сообщений я имею в виду нечто подобное remoteActor ! "hi"
,
1 ответ
Да, да, вы можете. Вы можете отправить любую полезную нагрузку, которую хотите, но она должна быть неизменной (насколько я знаю). Большинство людей используют кейсы. Например.
case class Payload(pay: List[String], load: Int)
тогда вы можете сделать следующее
actorRef ! Payload(List("string1","1gnirts"),69)
но вы должны помнить, чтобы создать соответствующий случай в получении
def receive =
case Payload(pay,load) => doSomeStuff(load,pay)