Grizzly 是由 Eclipse EE4J 專案維護的 Java NIO 網路框架。它的 grizzly-framework 模組建構於 Java 的非阻塞 I/O API 之上;它不是特定作業系統 API(例如 epoll)的直接封裝。
模組 #
常見的 Grizzly 模組包括:
grizzly-http,提供 HTTP 協定支援;grizzly-http-server,具備 Grizzly 自有 API 的可嵌入 HTTP 伺服器;以及grizzly-http-servlet,提供 Servlet 相關整合。
Grizzly 由 GlassFish 使用,也能執行小型嵌入式服務。它是 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 上閱讀或評論(發表評論需要登入)