Reactor Netty
Reactor Netty
offers non-blocking and backpressure-ready TCP
/HTTP
/UDP
/QUIC
clients & servers based on Netty
framework.
Getting it
Reactor Netty
requires Java 8 or + to run.
With Gradle
from repo.spring.io or Maven Central
repositories (stable releases only):
repositories {
//maven { url 'https://repo.spring.io/snapshot' }
maven { url 'https://repo.spring.io/milestone' }
mavenCentral()
}
dependencies {
//compile "io.projectreactor.netty:reactor-netty-core:1.2.1-SNAPSHOT"
compile "io.projectreactor.netty:reactor-netty-core:1.2.0"
//compile "io.projectreactor.netty:reactor-netty-http:1.2.1-SNAPSHOT"
compile "io.projectreactor.netty:reactor-netty-http:1.2.0"
}
See the Reference documentation
for more information on getting it (eg. using Maven
, or on how to get milestones and snapshots).
Getting Started
New to Reactor Netty
? Check this Reactor Netty Workshop
and the Reference documentation
Here is a very simple HTTP
server and the corresponding HTTP
client example
HttpServer.create()
.port(0)
.route(routes ->
routes.post("/test/{param}", (request, response) ->
response.sendString(request.receive()
.asString()
.map(s -> s + ' ' + request.param("param") + '!')
.log("http-server"))))
.bindNow();
HttpClient.create()
.port(server.port())
.post()
.uri("/test/World")
.send(ByteBufFlux.fromString(Flux.just("Hello")))
.responseContent()
.aggregate()
.asString()
.log("http-client")
.block();
Getting help
Having trouble with Reactor Netty
? We'd like to help!
Reporting Issues
Reactor Netty
uses GitHub’s
integrated issue tracking system to record bugs and feature requests.
If you want to raise an issue, please follow the recommendations below:
- Before you log a bug, please search the issue tracker
to see if someone has already reported the problem.
- If the issue doesn't already exist, create a new issue.
- Please provide as much information as possible with the issue report, we like to know
the version of
Reactor Netty
that you are using, as well as your Operating System
and
JVM
version. - If you want to raise a security vulnerability, please review our Security Policy for more details.
Contributing
See our Contributing Guide for information about contributing to Reactor Netty
.
Building from Source
You don't need to build from source to use Reactor Netty
(binaries in
repo.spring.io), but if you want to try out the latest and
greatest, Reactor Netty
can be easily built with the
gradle wrapper. You also need JDK 1.8.
$ git clone https://github.com/reactor/reactor-netty.git
$ cd reactor-netty
$ ./gradlew build
If you want to publish the artifacts to your local Maven
repository use:
$ ./gradlew publishToMavenLocal
Javadoc
https://projectreactor.io/docs/netty/release/api/
Guides
License
Reactor Netty
is Open Source Software released under the Apache License 2.0