Play 框架在 java 中使用 actors 处理 websockets

Play framework Handling websockets with actors in java

我正在尝试使用 java 中的参与者实现 websockets。我们接受websocket连接并创建一个ActorFlow.actorRef来处理websockets的地方,有没有办法将参数传递给websocket actor?我正在关注此处文档中的这个示例 .. https://www.playframework.com/documentation/2.6.x/JavaWebSockets#handling-websockets-with-actors

public WebSocket socket() { 
    return WebSocket.Text.accept(request -> 
        ActorFlow.actorRef(MyWebSocketActor::props, actorSystem, 
        materializer));
}

有什么方法可以将参数传递给 MyWebSocketActor 吗?

通常,将参数传递给 actor 如下:

final Props props = Props.create(SomeActorClass.class, arg1, arg2, ...);

您需要在正确的地方创建道具。参数被传递给 actor class.

的构造函数

除了按照@Igmar 的建议实现 Props 函数,

来自其他论坛的人在下面建议并且它工作正常。

MyWebSocketActor::props 是 shorthand for (actorRef) -> MyWebSocketActor.props(actorRef) 所以称它为 (actorRef) -> MyWebSocketActor.props(actorRef, otherStuff)