Akka Http websocket连接失败:IllegalStateException:无法多次订阅同一个订阅者

时间:2016-01-11 15:10:00

标签: scala websocket akka-stream akka-http

我遇到了akka http websocket连接的问题。我使用handleMessagesWithSinkSource(sinkUsesActor,SFPTextMessage)处理websocket消息。 sinkUsesActor使用actor,SFPTextMessage是actorpublisher的源。 当我刷新浏览器并尝试重新建立连接时,错误说:

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")
        }
    }

0 个答案:

没有答案