我试图用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?
答案 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类的构造函数。