Während der Migration zu Play 2.5 versuche ich, die neue WebSocket-Funktionalität wie beschrieben zu implementieren here (Umgang mit WebSockets mit Akteuren). In Play 2.5.4 gibt es kein play.libs.streams.ActorFlow (wie im Beispiel gezeigt), sondern nur play.api.libs.streams.ActorFlow. Aber wenn ich schreibe diesen Code:Abspielen 2.5 ActorFlow: kann nicht von Flow konvertiert werden <String, String, # 1-of?> In 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
)
);
}
}
Der Compiler gibt mir eine Fehlermeldung:
Type mismatch: cannot convert from Flow
<String,String,capture#1-of ?> to Flow<String,String,?>
Kann jemand bitte erklären Sie mir, wie dieses Konzept umzusetzen in 2.5? Warum bekomme ich diesen Fehler?
Danke für die Antwort trotzdem :) Allerdings habe ich den Weg gefunden, neue WebSocket-Implementierung in Play 2.5 zu nutzen, basierend auf dem, was hier geschrieben ist: http://nuah.livejournal.com/315561.html – sleb82