При переносе в Play 2.5 я пытаюсь реализовать новую функциональность WebSocket, как описано here (Обработка WebSockets с участием актеров). В Play 2.5.4 нет play.libs.streams.ActorFlow (как показано в примере), но только play.api.libs.streams.ActorFlow. Но когда я пишу этот код:Play 2.5 ActorFlow: невозможно преобразовать из потока <String, String, capture # 1-of?> В Flow <String, String,?>
public class MyController extends Controller {
private final ActorSystem actorSystem;
private final Materializer materializer;
@Inject
public MyController(ActorSystem actorSystem, Materializer materializer) {
this.actorSystem = actorSystem;
this.materializer = materializer;
}
public WebSocket socket() {
return WebSocket.Text.accept(request ->
return ActorFlow.<String, String>actorRef(MyWebSocketActor::props, 256, OverflowStrategy.dropHead(),
actorSystem, materializer
)
);
}
}
Компилятор дает мне ошибку:
Type mismatch: cannot convert from Flow
<String,String,capture#1-of ?> to Flow<String,String,?>
Может кто-то пожалуйста, объясните мне, как реализовать этот подход в 2.5? Почему я ошибаюсь?
Спасибо за ответ в любом случае :) Тем не менее, я нашел способ использовать новую реализацию WebSocket в Play 2.5 на основе того, что написано здесь: http://nuah.livejournal.com/315561.html – sleb82