AMcoder - javascript, python, java, html, php, sql

Խաղալ 2.5 ActorFlow. հնարավոր չէ փոխարկել Flow‹String,String,capture#1-of ?› Flow‹String,String,?›:

Play 2.5 տեղափոխելիս ես փորձում եմ կիրառել նոր WebSocket գործառույթը, ինչպես նկարագրված է այստեղ (ՎեբՍոկեթների կառավարում դերասանների հետ): 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 ?> to Flow<String,String,?>-ից

Կարո՞ղ է ինչ-որ մեկը ինձ բացատրել, թե ինչպես իրականացնել այս մոտեցումը 2.5-ում: Ինչու՞ եմ ես ստանում այս սխալը:


Պատասխանները:


1

Ես հենց նոր հարվածեցի նույն խնդիրը Play 2.5.12-ով: Խնդիրն այն է, որ ActorFlow-ը դեռ պատշաճ կերպով չի ներդրվել Java-ի համար Play 2.5.x-ում: (այդ իսկ պատճառով դուք ունեիք play.api.libs.streams.ActorFlow-ը Scala-ի կողմից):

Ճիշտ Java կոդը կարծես թե Play 2.6.x-ի համար է: https://github.com/playframework/playframework/blob/master/framework/src/play-streams/src/main/java/play/libs/streams/ActorFlow.java

Առայժմ, ես ենթադրում եմ, որ հեշտ լուծումն այն է, որ հավատարիմ մնաք LegacyWebsocket-ին մինչև 2.6.x-ը կայուն լինի:

(Ես գիտեմ, որ սա հին հարց է, բայց դա դեռ տեղին է):

26.02.2017
  • Ինչևէ, շնորհակալություն արձագանքի համար :) Այնուամենայնիվ, ես գտել եմ Play 2.5-ում նոր WebSocket-ի ներդրումը օգտագործելու եղանակը՝ հիմնվելով այստեղ գրվածի վրա՝ nuah.livejournal.com/315561.html 01.03.2017
  • Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..