Grizzly は、Eclipse EE4J プロジェクトが保守する Java NIO ネットワークフレームワークです。grizzly-framework モジュールは Java のノンブロッキング I/O API を基盤としており、epoll のような特定のオペレーティングシステム API の直接的なラッパーではありません。
モジュール #
一般的な Grizzly モジュールには次のものがあります。
- HTTP プロトコルをサポートする
grizzly-http。 - Grizzly 独自の API を備えた組み込み可能な HTTP サーバー
grizzly-http-server。 - サーブレット関連の統合を提供する
grizzly-http-servlet。
Grizzly は GlassFish で使用され、小規模な組み込みサービスも実行できます。Grizzly は HTTP サーバーであり、Jakarta REST の実装ではありません。JAX-RS リソースを提供するときは Jersey と組み合わせます。
Grizzly で Jersey を実行する #
Jersey の ResourceConfig を作成し、リソースクラスまたはパッケージを登録してから、サーバーを作成して起動します。
java
ResourceConfig config = new ResourceConfig()
.packages("com.example.api");
HttpServer server = GrizzlyHttpServerFactory.createHttpServer(
URI.create("http://0.0.0.0:8080/"), config, false);
server.start();
Runtime.getRuntime().addShutdownHook(new Thread(server::shutdownNow));Jersey BOM またはプラットフォームで管理される、互換性のある Jersey と Grizzly のバージョンを使用します。バインド先は意図的に指定してください。0.0.0.0 はすべてのインターフェイスでサービスを公開し、127.0.0.1 はローカルマシンに限定します。組み込みサーバーを本番環境で使用する前に、TLS、リクエスト制限、タイムアウト、正常なシャットダウン、構造化ログを設定してください。
コメント
GitHub で閲覧・コメントする(投稿にはログインが必要です)