今年1月,Webtide宣布Jetty將要投入Eclipse基金會的懷抱。在Eclipse上已經創建好了Jetty項目,本周Jetty 7代碼就要提交到Eclipse上的Jetty SVN了。
Webtide的Greg Wilkins在EclipseCon 2009上談到了此舉動的緣由及其對Jetty的意義。首先,Jetty的代碼將處于雙重許可之下:EPL(Eclipse)與AL(繼續使用之前的 Apache License)。其次,盡管核心庫(客戶端、服務器及JMX等等)將由Eclipse負責開發,但一些擴展代碼仍將留在CodeHaus(比如一些依賴 于第三方庫的代碼)上,其他一些包則保持不變。此外我們還會將核心加到Eclipse中,也許在下一個發布中就會實現(但已趕不上今年夏天發布的 Eclipse了)。
Greg還強調說投入Eclipse懷抱并不表示要依賴于OSGi,Jetty還會像現在這樣嵌入到現有的Java應用中(非OSGi應用),然而 該舉動會導致JAR文件變成OSGi風格(帶有清單信息),這意味著他們可以運行在這兩個環境中(OSGi與非OSGi——譯者注)。他還說到該舉動會發 掘出一些奇怪的依賴關系(例如客戶端API依賴于服務器端API)——OSGi的一個好處在于它可以讓這種隱蔽的依賴關系完全暴露出來并改進OSGi與非 OSGi的使用。
計劃表明Jetty 7大體上將會兼容于Jetty 6,但項目架構會發生變化,Jetty 7將于今年第二季度發布。Servlet 3.0 API的延期發布影響到了Jetty,因此將于明年發布的Jetty 8會支持Servlet 3.0 API(也就是說Jetty 7不會支持——譯者注)。Jetty還支持異步Servlet和Web請求,Greg說Jetty可以在低性能的筆記本上以2000/s的速度同時處理 2000個并發的客戶端和2000個并發的服務器,平均的響應時間為40ms。這與AJAX回調差不多,但卻可以避免線程阻塞,因此會提高應用的吞吐量。
Jetty與Eclipse的結合還會推進Equinox和OSGi對HTTP的支持并對OSGi HTTP規范起到促進作用。