播放框架与Java中的actor处理websockets

时间:2018-07-27 19:55:11

标签: java websocket playframework playframework-2.6

我试图用java中的actor实现websocket。我们接受websocket连接并创建ActorFlow.actorRef来处理websocket的地方,有什么方法可以将参数传递给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?

2 个答案:

答案 0 :(得分:2)

除了实现@Igmar建议的Props功能之外,

以下建议来自其他论坛的人,它可以正常工作。

MyWebSocketActor :: props是(actorRef)的简写-> MyWebSocketActor.props(actorRef) 所以称它为(actorRef)-> MyWebSocketActor.props(actorRef,otherStuff)

答案 1 :(得分:0)

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

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

您需要在正确的位置制作道具。参数将传递给actor类的构造函数。