gpt4 book ai didi

java - Akka Typed actor in play websocket

转载 作者:行者123 更新时间:2023-12-02 09:07:29 25 4
gpt4 key购买 nike

我正在开发一个正在运行的 Web-socket 应用程序,并根据他们的官方教程 ( https://www.playframework.com/documentation/2.8.x/JavaWebSockets ) 使用基于 Actor 的 Websocket 实现

在 Controller 中

 public WebSocket socket() {
System.out.println("socket connecton received");
return WebSocket.Text.accept(
request -> ActorFlow.actorRef(WebSocketActor::props, actorSystem, materializer));
}

WebSocketActor 使用类型化的 actor 实现,如下所示

public class WebSocketActor extends AbstractBehavior<String> {

但问题是它给了我以下错误不兼容的类型:ActorRef 无法转换为 ActorRef,而且 ActorFlow.actorRef 似乎只允许非类型化的 Actor。

如何使用具有上述实现的类型化 Actor。

最佳答案

当缺少类型化 API 时(我认为 Play ActorFlow 就是这种情况),您可以使用 akka.actor.typed.javadsl.Adapter 将新类型化 API 调整为经典 API ,就像这样:Adapter.toClassic(typedActorRef)

有关共存类型化 API 和经典 API 的更多文档:https://doc.akka.io/docs/akka/current/typed/coexisting.html

关于java - Akka Typed actor in play websocket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59695879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com