2013-01-09 50 views
5

我知道Glassfish使用一個名爲Grizzly的組件,但我不確定Grizzly究竟扮演了什麼角色。我讀過它是Glassfish的'前端'。它是否正確?當一個HTTP請求進入或者一個響應被髮回時,Grizzly究竟做了什麼,它是否首先通過Grizzly?如果是這樣,爲什麼?灰熊如何適應Glassfish?

回答

12

Grizzly代表GlassFish中的一個或多個不同容器執行所有沉重的NIO提升操作。這很像Tomcat的連接器功能。連接器代表核心Web容器執行網絡操作。

在HTTP的情況下,Grizzly負責解析和序列化HTTP請求/響應。它還提供了允許Servlet異步支持運行的基礎結構。在EE7中,Grizzly還提供了支持Servlet中的非阻塞I/O所必需的功能。

3

從項目主頁:

灰熊NIO和Web框架的設計是爲了幫助開發人員 採取的Java™API NIO的優勢。 Grizzly的目標是幫助 開發人員使用NIO構建可伸縮且健壯的服務器,並且我們還提供擴展框架組件:Web Framework(HTTP/S), Bayeux協議,Servlet,HttpService OSGi和Comet。

A​​可以與代碼examples一起使用,其中展示了它的各種用法。

請參閱Java.net上的Grizzly項目以獲取更多詳細信息以及如何參與。

+0

我已經讀過。它並沒有告訴我它如何與Glassfish合作。像這樣的代碼示例 - http://grizzly.java.net/nonav/docs/docbkx2.2/html/coreframework-samples.html - 也不回答我的問題。 – sonicboom

+2

Grizzly是一個NIO框架,在GlassFish中爲各種IO使用處理程序。它爲請求和響應提供處理程序。這些請求可以是HTTP請求,Websockets等。這些示例顯示瞭如何將它用作獨立的Web容器,或者甚至如何使用它來處理JAX-WS。它與Apache Mina類似,提供相同類型的功能。 –