react api_使用React流API将Akka流与rxJava结合在一起
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结合在一起相关推荐
- 使用反应流API将Akka流与rxJava结合在一起
这次只是一篇简短的文章,因为我仍在尝试这种东西. 关于反应式编程有很多话题. 在Java 8中,我们有Stream API,我们有rxJava我们有ratpack ,Akka有akka-streams ...
- 解答网友提问 | 使用VS2022快速生成React/Angular/Vue.js + Web API前后端集成项目
前言 上次发表了<一键生成Vue.js + Web API前后端集成项目>后,有多位网友来问,有不有其他的前后端集成模板: 实际上,VS2022没有提供前后端集成项目模板. 但是,使用VS ...
- React实战精讲(React_TS/API)
英国诗人 萨松在诗歌 <与我,过去.现在以及未来>中写道:"In me the tiger sniffs the rose" 诗人余光中将其翻译为:"心有猛虎 ...
- react项目使用百度地图API
文章目录 前言 一.接入API 1.登录百度地图 2.创建应用,获取密钥 3.引入API 4.当作模块导入BMap 二.使用 1.引入 2.展示地图 三.效果展示 总结 前言 最近在开发一款react ...
- React入门(4)--react提升项目性能的Api(pureComponent、memo、useMemo、useCallback)
先看下面的例子 import React, { Component } from 'react';class Child extends Component {render() {console.lo ...
- react java_独眼巨人React组织了Java 8库的寒武纪爆发
react java 什么是独眼巨人React? Lambda表达式和默认方法在Java 8中的到来预示了Java语言十年来最大的结构性变化. 在此基础上构建了一些新的很酷的API,例如Stream, ...
- meetup_使用RxNetty访问Meetup的流API
meetup 本文将涉及多个主题:响应式编程,HTTP,解析JSON以及与社交API集成. 完全在一个用例中:我们将通过非夸张的RxNetty库实时加载和处理新的metup.com事件,结合Netty ...
- 从零开始React:一档 React环境搭建,语法规则,基础使用
手挽手带你学React入门第一期,带你熟悉React的语法规则,消除对JSX的恐惧感,由于现在开发中都是使用ES6语法开发React,所以这次也使用ES6的模式进行教学,如果大家对ES6不熟悉的话,先 ...
- (React 框架)React技术
1.简介 React 是Facebook 开发并开源的前端框架 当时他们的团队在市面上没找到合适的MVC 框架,就自己写一个 JS 框架,用来架设 instagram(图片分享社交网路),2013年开 ...
最新文章
- 青龙羊毛——最美阅读
- 具体解释站点沙盒期的原因表现与解决的方法
- jsf绑定bean_JSF –渴望的CDI bean
- 有向图算法 PHP,科学网—一种可用于脑神经网络分析的有向图分解算法 第六稿 - 谢勤的博文...
- docker rabbitmq:3.9.10-management
- android 调试好事工具类,Android 工具类之总结 Hua
- 『自定义View实战』—— 仿ios图标下载view DownloadLoadingView
- protobuffer中string和bytes类型
- ios安全机制不支持antofocus
- 基于Vue学生选课管理系统
- C#电子病历管理系统源码 医院电子病历源码
- Solidwork SW许可限制,许可加入白名单
- 最适合管理的计算机语言,PLC 编程语言的优劣,哪种语言更适合编程
- hadoop 编程规范(hadoop专利分析)
- 中国移动下月发布5G套餐:“三不一快”策略方便终端入网
- 2014年校园招聘IT公司工资列表
- “一见钟情” 文证通证件识别让旅行证件不再寂寞
- NB-IoT是什么?
- 建行u盾单片机可以再次使用吗_Si7021建行U盾19264液晶制作温湿度显示,实物单片机代码开源...
- Oracle Spacial(空间数据库)sdo_lrs包函数