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)
我正在尝试使用 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)