在java中使用参与者播放处理WebSocket的框架

在java中使用参与者播放处理WebSocket的框架,java,websocket,playframework,playframework-2.6,Java,Websocket,Playframework,Playframework 2.6,我试图用java实现带有参与者的WebSocket。在我们接受websocket连接并创建ActorFlow.actorRef来处理websocket的地方,有没有办法将参数传递给websocket参与者?下面是文档中的示例 有没有办法将参数传递给MyWebSocketActor?通常,向参与者传递参数的方法如下: final Props props = Props.create(SomeActorClass.class, arg1, arg2, ...); 你需要在正确的地方制作道具。参数被

我试图用java实现带有参与者的WebSocket。在我们接受websocket连接并创建ActorFlow.actorRef来处理websocket的地方,有没有办法将参数传递给websocket参与者?下面是文档中的示例


有没有办法将参数传递给MyWebSocketActor?

通常,向参与者传递参数的方法如下:

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

你需要在正确的地方制作道具。参数被传递给actor类的构造函数。

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

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

你需要在正确的地方制作道具。参数被传递给actor类的构造函数。

除了实现@Igmar建议的Props函数之外

其他论坛的人建议如下,效果很好

MyWebSocketActor::props是(actorRef)->MyWebSocketActor.props(actorRef)的缩写
因此,将其命名为(actorRef)->mywebsocketator.props(actorRef,otherStuff)

除了按照@Igmar的建议实现props函数之外

其他论坛的人建议如下,效果很好

MyWebSocketActor::props是(actorRef)->MyWebSocketActor.props(actorRef)的缩写
所以像(actorRef)->MyWebSocketActor.props(actorRef,otherStuff)

Ya我对props.create进行了编码,但从ActorFlow.actorRef传递它时遇到了问题。我试着像“ActorFlow.actorRef(MyWebSocketActor::props(otherStuff),actorSystem,materializer));”那样称呼它,但它不起作用。另一个论坛的一个家伙建议说MyWebSocketActor::props是(actorRef)->MyWebSocketActor.props(actorRef)的简写,所以可以像(actorRef)->MyWebSocketActor.props(actorRef,其他东西)那样称呼它。这很好用。是的,我编写了props.create,但是我在从ActorFlow.actorRef传递它时遇到了麻烦。我试着像“ActorFlow.actorRef(MyWebSocketActor::props(otherStuff),actorSystem,materializer));”那样称呼它,但它不起作用。另一个论坛的一个家伙建议说MyWebSocketActor::props是(actorRef)->MyWebSocketActor.props(actorRef)的简写,所以称之为(actorRef)->MyWebSocketActor.props(actorRef,otherStuff)这很有效。这是一个从Play 2.4迁移到Play 2.6的救命稻草。这确实是我们迁移项目中我需要的一条最重要的线路。注意,ActorFlow类(通常用于将这些东西组合在一起)在Java的Play2.5中被破坏。但是,您可以从Play2.6中获取ActorFlow.actorRef(),然后将代码复制到任何您想要的地方并使用它。由于我们的迁移是从Play2.5及其LegacyWebSocket开始的,所以我需要这个额外的步骤。这是一个从Play2.4迁移到2.6的救命稻草。这确实是我们迁移项目所需要的最重要的一行。注意,ActorFlow类(通常用于将这些东西组合在一起)在Java的Play2.5中被破坏。但是,您可以从Play2.6中获取ActorFlow.actorRef(),然后将代码复制到任何您想要的地方并使用它。由于我们的迁移从Play2.5及其LegacyWebSockets开始,我需要这一额外的步骤。