Акка Типизированный актер в пьесе - PullRequest
0 голосов
/ 11 января 2020

Я разрабатываю приложение веб-сокета в игре и использую реализацию веб-сокета на основе актера в соответствии с их официальным руководством (https://www.playframework.com/documentation/2.8.x/JavaWebSockets)

В контроллере

 public WebSocket socket() {
    System.out.println("socket connecton received");
    return WebSocket.Text.accept(
            request -> ActorFlow.actorRef(WebSocketActor::props, actorSystem, materializer));
}

WebSocketActor реализован с типизированными актерами, как показано ниже

public class WebSocketActor extends AbstractBehavior<String> {

Но проблема заключается в том, что он дает мне следующую ошибку Несовместимые типы: ActorRef не конвертируется в ActorRef и выглядит как ActorFlow .actorRef разрешает только не типизированные актеры.

Как использовать Typed Actor с вышеприведенной реализацией.

1 Ответ

1 голос
/ 15 января 2020

Когда отсутствуют пропущенные API для типизированных (я думаю, что это имеет место с Play ActorFlow), вы можете адаптировать новые типизированные API к классическим c, используя akka.actor.typed.javadsl.Adapter, например: Adapter.toClassic(typedActorRef)

Больше документов по сосуществующим типизированным и классическим c API здесь: https://doc.akka.io/docs/akka/current/typed/coexisting.html

...