首页 文章

Play 2.5 ActorFlow:无法从Flow <String,String,capture#1-of?>转换为Flow <String,String,?>

提问于
浏览
0

在迁移到Play 2.5时,我正在尝试实现新的WebSocket功能,如here所述(使用actor处理WebSockets) . 在Play 2.5.4中,没有play.libs.streams.ActorFlow(如示例所示),但只有play.api.libs.streams.ActorFlow . 但是当我写这段代码时:

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
                )
        );
    }
}

编译器给我一个错误:

类型不匹配:无法从Flow <String,String,capture#1-of?>转换为Flow <String,String,?>

有人可以解释一下如何在2.5中实现这种方法吗?为什么我会犯这个错误?

1 回答

相关问题