1

akka http websocket connections に問題があります。handleMessagesWithSinkSource(sinkUsesActor , SFPTextMessage ) で websocket メッセージを処理します。sinkUsesActor はアクターを使用し、SFPTextMessage はアクターパブリッシャーからのソースです。ブラウザーを更新すると、接続を再確立しようとすると、次のエラーが表示されます。

java.lang.IllegalStateException: can not subscribe the same subscriber multiple times .

このシナリオで、actorpublisher (SFPTextMessage) から同じソースを使用するにはどうすればよいですか?

def wsHandler: HttpRequest ⇒ HttpResponse = {
        case req: HttpRequest ⇒ req.header[UpgradeToWebsocket] match {
            case Some(upgrade) ⇒
                upgrade.handleMessagesWithSinkSource(sinkUsesActor , SFPTextMessage )
            case None ⇒ HttpResponse(400, entity = "Missing Upgrade header")
        }
    }
4

0 に答える 0