开发者社区> 问答> 正文

Scala 异步 io 实现

大佬们好:

在开发Scala 的异步io 的时候遇到点问题,Scala 中没有 RichAsyncFunction(Rich类有open方法,可以做初始化操作 ),Scala 版本的 AsyncFunction 与Java 版本的AsyncFunction不是同一个类,所以不能使用Java 的 RichAsyncFunction,请问各位大佬,怎么实现Scala 的RichAsyncFunction ?

详情如下:

Scala中 使用 AsyncDataStream.orderedWait[IN, OUT: TypeInformation]( input: DataStream[IN], asyncFunction: AsyncFunction[IN, OUT], timeout: Long, timeUnit: TimeUnit, capacity: Int) 方法 中的 参数 AsyncFunction 全路径是 : org.apache.flink.streaming.api.scala.async.AsyncFunction ,但是该类没有对应 的 RichAsyncFunction 的实现。

对应的Java 版本 AsyncDataStream.orderedWait[IN, OUT: TypeInformation]( input: DataStream[IN], asyncFunction: AsyncFunction[IN, OUT], timeout: Long, timeUnit: TimeUnit, capacity: Int) 中参数 AsyncFunction 的全路径是 : org.apache.flink.streaming.api.functions.asyn. AsyncFunction, 有对应的 RichAsyncFunction的实现(见下图)。

类:org.apache.flink.streaming.api.functions.async. RichAsyncFunction

非常感谢各位大佬回复*来自志愿者整理的flink邮件归档

展开
收起
雪哥哥 2021-12-07 16:15:07 742 0
1 条回答
写回答
取消 提交回答
  • If you can not switch to java AsyncDataStream API, then you can consider upgrading to flink-1.8.0+, FLINK-6756 has provided RichAsyncFunction to Scala API.*来自志愿者整理的flink

    2021-12-07 16:35:34
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
多IO线程优化版 立即下载
JDK8新特性与生产-for“华东地区scala爱好者聚会” 立即下载
EXTENDING SPARK WITH JAVA AGEN 立即下载