RxJava 是一个ReactiveX 在JVM平台上的实现:通过使用可观察序列来组合异步和基于事件的程序的库
关于更多的信息关于ReactiveX 请看介绍ReactiveX
RxJava是轻量级的
RxJava尝试变的非常轻量级。它被实现为仅仅关注于可观测的抽象的、有关系的高阶函数
的独立jar包。
RxJava是一个多语言的实现
RxJava支持Java6和在它之上的版本和基于JVM的语言例如Groovy,Clojure,jRuby,Kotlin和Scala.
RxJava意味着多语言环境不仅仅是Java/Scala,他被设计为尊重每种基于JVM的习惯用语。
RxJava的库
如下的一些外部库可与RxJava协同工作:
- Hystrix latency and fault tolerance bulkheading library.
- Camel RX provides an easy way to reuse any of the Apache Camel components, protocols, transports and data formats with the RxJava API
-
rxjava-http-tail allows you to follow logs over HTTP, like
tail -f
- mod-rxvertx - Extension for VertX that provides support for Reactive Extensions (RX) using the RxJava library
- rxjava-jdbc - use RxJava with jdbc connections to stream ResultSets and do functional composition of statements
- rtree - immutable in-memory R-tree and R*-tree with RxJava api including backpressure
准备开始
获取二进制文件
你可以找到二进制文件和依赖信息通过Maven,Ivy,Gradle,SBT等等在 http://search.maven.org.
Maven:
<dependency>
<groupId>io.reactivex.rxjava2</groupId>
<artifactId>rxjava</artifactId>
<version>2.2.0</version>
</dependency>
Gradle:
compile 'io.reactivex.rxjava2:rxjava:2.2.0'
如果你需要下载Jar包而不是通过编译系统,创建一个如下的带版本的Pom文件:
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>io.reactivex.rxjava2</groupId>
<artifactId>rxjava</artifactId>
<version>2.2.0</version>
<name>RxJava</name>
<description>Reactive Extensions for Java</description>
<url>https://github.com/ReactiveX/RxJava</url>
<dependencies>
<dependency>
<groupId>io.reactivex.rxjava2</groupId>
<artifactId>rxjava</artifactId>
<version>2.2.0</version>
</dependency>
</dependencies>
</project>
然后执行:
$ mvn -f download-rxjava-pom.xml dependency:copy-dependencies
这个命令下载rxjava-*.jar和它的依赖包 到 ./target/dependency/目录下。
你需要java6或者更高版本。
编译:
拉取和编译RxJava源码,执行如下命令:
$ git clone git@github.com:ReactiveX/RxJava.git
$ cd RxJava/
$ ./gradlew build
执行clean 编译,执行如下命令:
$ ./gradlew clean build
编译过程如下:
$ ./gradlew build
:rxjava:compileJava
:rxjava:processResources UP-TO-DATE
:rxjava:classes
:rxjava:jar
:rxjava:sourcesJar
:rxjava:signArchives SKIPPED
:rxjava:assemble
:rxjava:licenseMain UP-TO-DATE
:rxjava:licenseTest UP-TO-DATE
:rxjava:compileTestJava
:rxjava:processTestResources UP-TO-DATE
:rxjava:testClasses
:rxjava:test
:rxjava:check
:rxjava:build
BUILD SUCCESSFUL
Total time: 30.758 secs
在一个clean 编译过程中,你将会看到单元测试的执行。如下:
> Building > :rxjava:test > 91 tests completed
网友评论