如何从其他java控制器向游戏中的Akka参与者发送消息?

如何从其他java控制器向游戏中的Akka参与者发送消息?,java,playframework,akka,Java,Playframework,Akka,我已经用Akka actor实现了一个基本的web套接字示例,这是我在Play framework应用程序控制器中使用的代码: public static WebSocket<String> socket() { return WebSocket.whenReady((in, out) -> { // create a new UserActor and give it the default stocks to watch final

我已经用Akka actor实现了一个基本的web套接字示例,这是我在Play framework应用程序控制器中使用的代码:

public static WebSocket<String> socket() {
    return WebSocket.whenReady((in, out) -> {
        // create a new UserActor and give it the default stocks to watch
        final ActorRef messageActor = Akka.system().actorOf(Props.create(MyWebSocketActor.class, out),"SocketActor");
        // List<String> defaultStocks = Play.application().configuration().getStringList("default.stocks");
        // send all WebSocket message to the UserActor
        in.onMessage(message -> {
            // parse the JSON into Stock.Watch
            messageActor.tell(message, ActorRef.noSender());
        });
        // on close, tell the userActor to shutdown
        in.onClose(() -> {
            // kill actor
            Akka.system().stop(messageActor);
        });
    });
}
但我在Akka记录器中收到一条错误消息:

Message from [] to [] was not delivered [1]. Dead letter encountered.
正如我在互联网上发现的,这意味着另一个控制器无法访问参与者,或者参与者不再处于活动状态。
有人建议我设置一个主管作为可能的解决方案,但是,我在java中找到了任何例子。有人能帮我或给我指出一些参考资料吗?

我只是在这里猜测,但是您是否也尝试将用户guardian添加到路径:
Akka.system().actorSelection(“/user/SocketActor”)?不,我稍后再试,我会告诉你的。谢谢为什么不在其他地方创建actor并将其ActorRef传递给WebSocket和其他控制器?
Message from [] to [] was not delivered [1]. Dead letter encountered.