Grizzly HTTP サーバー

最終更新: 2025-03-06 16:08:24 +0800 +0800
tags: Java | Grizzly | Http | Jax-Rs
原文は英語で書かれています。あなたはAI翻訳版を読んでいます。

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 で閲覧・コメントする(投稿にはログインが必要です)