2016-06-16 3 views
1

ここで何かを誤解する必要があります。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 - おかげであなたが正しい、私は上のビットすぎて、実際に壊れた部分を実現ませんコードを簡素化。情報の欠けている部分があった。遊びのドキュメントhereで説明したように

  • myActorRef実際のWebSocket俳優のセットアップを参照。あなたが言及したように、ActorFlowを使用します。
  • myActorRefへのメッセージは問題ではありませんが、実際に問題が発生しているWebSocketに書き込みます。
+2

を。あなたはAkka Streamsを使用していて、あなたの俳優を「Source」として扱っているようです。ストリームコンポーネントは、無制限のバッファリングを持つことができず、ここで見ているように下流が圧力を逆戻りし始めるときに戦略を必要とします。これはメールボックスの境界とは関係ありません – cmbaxter

答えて

0

どこから来ているのか分かりましたので、修正はかなり簡単でした。 私は通常16をデフォルトとなりActorFlowのバッファサイズ、例えば増加した:私はあなたがここにいくつかの詳細を隠していると思います

ActorFlow.actorRef(MyActor.props(), 10000) 
関連する問題