Должно быть, я что-то не понимаю. Документы говорят, почтовый ящик по умолчанию должен быть неограниченным, но только, чтобы убедиться, что я добавил конкретной конфигурации:Akka Безграничный почтовый ящик, кажется, ограничен
akka.actor.default-mailbox {
mailbox-type = "akka.dispatch.UnboundedMailbox"
}
Но когда я выпалить 50 сообщений следующим образом:
1 to 50 foreach { _ =>
myActorRef ! "myMessage"
}
Я получаю около 15 ошибки:
ActorRefSourceActor - Dropping the new element because buffer is full and overflowStrategy is: [DropNew]
Что здесь происходит?
EDIT:
@cmbaxter - Спасибо, вы правы, я более упростил код немного слишком много, не понимая, какая часть была фактически нарушена. Недостающие части информации были:
myActorRef
на самом деле относится к установке актера WebSocket, как описан в стыковых документации here. Что, как вы упомянули, использует ActorFlow.- Сообщение
myActorRef
не является проблемой, но оно, в свою очередь, записывает в WebSocket, где на самом деле лежит проблема.
Я думаю, что вы скрываете некоторые подробности здесь. Кажется, вы используете Akka Streams и относитесь к своему актеру как к «Источнику». Компоненты Stream не могут иметь неограниченную буферизацию и нуждаются в стратегии, когда нисходящий поток начинает оказывать давление, как вы видите здесь. Это не имеет никакого отношения к ограничению почтового ящика – cmbaxter