Reactor Netty
ofrece clientes y servidores TCP
/ HTTP
/ UDP
/ QUIC
sin bloqueo y listos para contrapresión basados en el marco Netty
.
Reactor Netty
requiere Java 8 o + para ejecutarse.
Con Gradle
desde los repositorios repo.spring.io o Maven Central
(solo versiones estables):
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.2-SNAPSHOT"
compile " io.projectreactor.netty:reactor-netty-core:1.2.1 "
// compile "io.projectreactor.netty:reactor-netty-http:1.2.2-SNAPSHOT"
compile " io.projectreactor.netty:reactor-netty-http:1.2.1 "
}
Consulte la documentación de referencia para obtener más información sobre cómo obtenerlo (por ejemplo, usar Maven
o cómo obtener hitos e instantáneas).
¿Nuevo en Reactor Netty
? Consulte este taller de Reactor Netty y la documentación de referencia.
Aquí hay un ejemplo de servidor HTTP
muy simple y el cliente HTTP
correspondiente.
HttpServer . create () // Prepares an HTTP server ready for configuration
. port ( 0 ) // Configures the port number as zero, this will let the system pick up
// an ephemeral port when binding the server
. route ( routes ->
// The server will respond only on POST requests
// where the path starts with /test and then there is path parameter
routes . post ( "/test/{param}" , ( request , response ) ->
response . sendString ( request . receive ()
. asString ()
. map ( s -> s + ' ' + request . param ( "param" ) + '!' )
. log ( "http-server" ))))
. bindNow (); // Starts the server in a blocking fashion, and waits for it to finish its initialization
HttpClient . create () // Prepares an HTTP client ready for configuration
. port ( server . port ()) // Obtains the server's port and provides it as a port to which this
// client should connect
. post () // Specifies that POST method will be used
. uri ( "/test/World" ) // Specifies the path
. send ( ByteBufFlux . fromString ( Flux . just ( "Hello" ))) // Sends the request body
. responseContent () // Receives the response body
. aggregate ()
. asString ()
. log ( "http-client" )
. block ();
¿Tienes problemas con Reactor Netty
? ¡Nos gustaría ayudar!
reactor-netty
. También puedes chatear con la comunidad en Gitter.Reactor Netty
en github.com/reactor/reactor-netty/issues. Reactor Netty
utiliza el sistema de seguimiento de problemas integrado GitHub's
para registrar errores y solicitudes de funciones. Si desea plantear un problema, siga las recomendaciones a continuación:
Reactor Netty
que está utilizando, así como su Operating System
y versión JVM
. Consulte nuestra Guía de contribución para obtener información sobre cómo contribuir a Reactor Netty
.
No es necesario compilar desde el código fuente para usar Reactor Netty
(binarios en repo.spring.io), pero si desea probar lo último y lo mejor, Reactor Netty
se puede compilar fácilmente con el contenedor Gradle. También necesitas JDK 1.8.
$ git clone https://github.com/reactor/reactor-netty.git
$ cd reactor-netty
$ ./gradlew build
Si desea publicar los artefactos en su repositorio local Maven
utilice:
$ ./gradlew publishToMavenLocal
https://projectreactor.io/docs/netty/release/api/
Reactor Netty
es un software de código abierto publicado bajo la licencia Apache 2.0