Reactor Netty
Netty
フレームワークに基づいて、ノンブロッキングでバックプレッシャー対応のTCP
/ HTTP
/ UDP
/ QUIC
クライアントおよびサーバーを提供します。
Reactor Netty
実行するには Java 8 または + が必要です。
repo.spring.io またはMaven Central
リポジトリのGradle
使用する場合 (安定リリースのみ):
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 "
}
取得の詳細 (例: Maven
の使用、またはマイルストーンとスナップショットの取得方法) については、リファレンス ドキュメントを参照してください。
Reactor Netty
は初めてですか?この Reactor Netty ワークショップとリファレンス ドキュメントを確認してください。
以下は非常に単純なHTTP
サーバーと、対応するHTTP
クライアントの例です。
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 ();
Reactor Netty
に問題がありますか?ぜひお手伝いさせていただきたいと思います!
reactor-netty
でタグ付けされた質問を探します。 Gitter のコミュニティとチャットすることもできます。Reactor Netty
のバグを github.com/reactor/reactor-netty/issues で報告してください。Reactor Netty
GitHub's
統合問題追跡システムを使用してバグと機能リクエストを記録します。問題を提起したい場合は、以下の推奨事項に従ってください。
Reactor Netty
のバージョン、 Operating System
とJVM
のバージョンもお知らせください。Reactor Netty
への貢献については、「貢献ガイド」を参照してください。
Reactor Netty
(repo.spring.io のバイナリ) を使用するためにソースからビルドする必要はありませんが、最新かつ最高のものを試したい場合は、Gradle ラッパーを使用してReactor Netty
簡単にビルドできます。 JDK 1.8 も必要です。
$ git clone https://github.com/reactor/reactor-netty.git
$ cd reactor-netty
$ ./gradlew build
アーティファクトをローカルMaven
リポジトリに公開する場合は、次を使用します。
$ ./gradlew publishToMavenLocal
https://projectreactor.io/docs/netty/release/api/
Reactor Netty
Apache License 2.0 に基づいてリリースされたオープンソース ソフトウェアです。