簡體   English   中英

將 DataStream 類型的對象從 Controller 傳遞到帶有 Apache flink 和 Spring boot 的視圖時出錯

[英]Error when passing object of type DataStream from Controller to a view with Apache flink and Spring boot

我是 flink 的新手,我在使用 Spring boot 和 thymeleaf 在網頁視圖中顯示 DataStream (Apache flink) 類型的對象時遇到了問題。 是否可以將此 DataStream 對象轉換為要傳遞給視圖的列表? 當我像這樣將 DataStream 對象作為參數傳遞給視圖時:

List<String> inputFeed = Serializefeed(entries);
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStream<String> feeds = env.fromCollection(inputFeed);
DataStream<String> AnnotatedFeed = feeds.map(new MapFunction<String, String>() {
        @Override
        public String map(String SingleFeed) throws Exception {
            /**
                Some operations on the Stream
             **/
        }
    }).setParallelism(10);
    model.addAttribute("feedsAnnotated",AnnotatedFeed);
    env.execute("Rss feed Annotater example");

    return "AnnotatedFeed";
}

並使用 AnnotatedFeed.print() 在視圖中顯示它; 我得到一個異常:方法調用:嘗試在空上下文對象上調用方法 print()。 那么有什么幫助我如何將 DataStream 存儲到可以傳遞給視圖的對象中?

這是我通過將數據流保存在集合中然后將該集合傳遞給我的視圖來解決它的方法:

Iterator<Object> iter = DataStreamUtils.collect(datastream);
List<Object> list = Lists.newArrayList(iter);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM