Актер не несет ответственности за управление сообщениями, он дурак в этой функциональности. Ответственный за отправку сообщения актеру - диспетчер. Вы можете реализовать черту UnboundedPriorityMailbox , здесь вы можете найти документацию в Akka Doc. UnboundedPriorityMailbox .
class CustomPriorityActorMailbox(settings: ActorSystem.Settings, config: Config) extends UnboundedPriorityMailbox(
PriorityGenerator {
// Int Messages
case x: requestQuery => 1
// String Messages
case TrackMeta => 0
// Long messages
case _ => 2
})
В этом классе вы можете определить свои приоритеты.
Затем необходимо настроить новую конфигурацию диспетчера.
custom-dispatcher {
mailbox-type = "com.example.CustomPriorityActorMailbox"
}
Затем при создании вашего актера вы можете настроить своего диспетчера:
val myPriorityActor = system.actorOf(Props[MyActor].withDispatcher("custom-dispatcher"))
Надеюсь, это поможет!