react api

这次只是快速的一篇文章,因为我仍在尝试这种东西。 关于React式编程有很多话题。 在Java 8中,我们有Stream API,有rxJava我们有ratpack ,Akka有akka-streams 。

这些实现的主要问题是它们不兼容。 您不能将一个实现的订阅者连接到另一个实现的发布者。 幸运的是,一项倡议已经开始提供一种方法,使这些不同的实现可以协同工作:

“本规范旨在允许创建许多符合标准的实现,这些实现将通过遵守规则将能够顺利互操作,并在流应用程序的整个处理图中保留上述优势和特征。”

来自– http://www.reactive-streams.org/

这是如何运作的

现在我们该怎么做? 让我们看一下基于akka-stream提供的示例的快速示例(从此处开始 )。 在下面的清单中:

package sample.streamimport akka.actor.ActorSystem
import akka.stream.FlowMaterializer
import akka.stream.scaladsl.{SubscriberSink, PublisherSource, Source}
import com.google.common.collect.{DiscreteDomain, ContiguousSet}
import rx.RxReactiveStreams
import rx.Observable;
import scala.collection.JavaConverters._object BasicTransformation {def main(args: Array[String]): Unit = {// define an implicit actorsystem and import the implicit dispatcherimplicit val system = ActorSystem("Sys")import system.dispatcher// flow materializer determines how the stream is realized.// this time as a flow between actors.implicit val materializer = FlowMaterializer()// input text for the stream.val text ="""|Lorem Ipsum is simply dummy text of the printing and typesetting industry.|Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, |when an unknown printer took a galley of type and scrambled it to make a type |specimen book.""".stripMargin// create an observable from a simple list (this is in rxjava style)val first = Observable.from(text.split("\\s").toList.asJava);// convert the rxJava observable to a publisherval publisher = RxReactiveStreams.toPublisher(first);// based on the publisher create an akka sourceval source = PublisherSource(publisher);// now use the akka style syntax to stream the data from the source// to the sink (in this case this is println)source.map(_.toUpperCase).                 // executed as actorsfilter(_.length > 3).foreach { el =>                     // the sink/consumerprintln(el)}.onComplete(_ => system.shutdown())  // lifecycle event}
}

此示例中的代码注释几乎解释了正在发生的事情。 我们在这里所做的是创建一个基于rxJava的Observable。 将此Observable转换为“React流”发布者,并使用此发布者创建akka-streams源。 对于其余的代码,我们可以使用akka-stream样式流API对流进行建模。 在这种情况下,我们只需要进行一些过滤并打印出结果即可。

翻译自: https://www.javacodegeeks.com/2014/11/use-reactive-streams-api-to-combine-akka-streams-with-rxjava.html

react api

react api_使用React流API将Akka流与rxJava结合在一起相关推荐

  1. 使用反应流API将Akka流与rxJava结合在一起

    这次只是一篇简短的文章,因为我仍在尝试这种东西. 关于反应式编程有很多话题. 在Java 8中,我们有Stream API,我们有rxJava我们有ratpack ,Akka有akka-streams ...

  2. 解答网友提问 | 使用VS2022快速生成React/Angular/Vue.js + Web API前后端集成项目

    前言 上次发表了<一键生成Vue.js + Web API前后端集成项目>后,有多位网友来问,有不有其他的前后端集成模板: 实际上,VS2022没有提供前后端集成项目模板. 但是,使用VS ...

  3. React实战精讲(React_TS/API)

    英国诗人 萨松在诗歌 <与我,过去.现在以及未来>中写道:"In me the tiger sniffs the rose" 诗人余光中将其翻译为:"心有猛虎 ...

  4. react项目使用百度地图API

    文章目录 前言 一.接入API 1.登录百度地图 2.创建应用,获取密钥 3.引入API 4.当作模块导入BMap 二.使用 1.引入 2.展示地图 三.效果展示 总结 前言 最近在开发一款react ...

  5. React入门(4)--react提升项目性能的Api(pureComponent、memo、useMemo、useCallback)

    先看下面的例子 import React, { Component } from 'react';class Child extends Component {render() {console.lo ...

  6. react java_独眼巨人React组织了Java 8库的寒武纪爆发

    react java 什么是独眼巨人React? Lambda表达式和默认方法在Java 8中的到来预示了Java语言十年来最大的结构性变化. 在此基础上构建了一些新的很酷的API,例如Stream, ...

  7. meetup_使用RxNetty访问Meetup的流API

    meetup 本文将涉及多个主题:响应式编程,HTTP,解析JSON以及与社交API集成. 完全在一个用例中:我们将通过非夸张的RxNetty库实时加载和处理新的metup.com事件,结合Netty ...

  8. 从零开始React:一档 React环境搭建,语法规则,基础使用

    手挽手带你学React入门第一期,带你熟悉React的语法规则,消除对JSX的恐惧感,由于现在开发中都是使用ES6语法开发React,所以这次也使用ES6的模式进行教学,如果大家对ES6不熟悉的话,先 ...

  9. (React 框架)React技术

    1.简介 React 是Facebook 开发并开源的前端框架 当时他们的团队在市面上没找到合适的MVC 框架,就自己写一个 JS 框架,用来架设 instagram(图片分享社交网路),2013年开 ...

最新文章

  1. 青龙羊毛——最美阅读
  2. 具体解释站点沙盒期的原因表现与解决的方法
  3. jsf绑定bean_JSF –渴望的CDI bean
  4. 有向图算法 PHP,科学网—一种可用于脑神经网络分析的有向图分解算法 第六稿 - 谢勤的博文...
  5. docker rabbitmq:3.9.10-management
  6. android 调试好事工具类,Android 工具类之总结 Hua
  7. 『自定义View实战』—— 仿ios图标下载view DownloadLoadingView
  8. protobuffer中string和bytes类型
  9. ios安全机制不支持antofocus
  10. 基于Vue学生选课管理系统
  11. C#电子病历管理系统源码 医院电子病历源码
  12. Solidwork SW许可限制,许可加入白名单
  13. 最适合管理的计算机语言,PLC 编程语言的优劣,哪种语言更适合编程
  14. hadoop 编程规范(hadoop专利分析)
  15. 中国移动下月发布5G套餐:“三不一快”策略方便终端入网
  16. 2014年校园招聘IT公司工资列表
  17. “一见钟情” 文证通证件识别让旅行证件不再寂寞
  18. NB-IoT是什么?
  19. 建行u盾单片机可以再次使用吗_Si7021建行U盾19264液晶制作温湿度显示,实物单片机代码开源...
  20. Oracle Spacial(空间数据库)sdo_lrs包函数

热门文章

  1. jzoj3058-火炬手【高精度,暴力】
  2. P1156-垃圾陷阱【dp】
  3. 【做题记录】 [HEOI2013]SAO
  4. Codeforces1019C
  5. 双向广搜 8数码问题
  6. Dubbo(五)之动态配置中心
  7. Java中随机数的原理,以及使用时的注意点
  8. Java命令学习系列(三)——Jmap
  9. Java开发必会的反编译知识
  10. 一张图弄懂java线程的状态和生命周期