開源Java Servlet 容器,Jetty 9.1.1 發布,
Jetty 是一個用 Java 實現、開源、基于標準的,并且具有豐富功能的 Web 服務器和 javax.servlet 容器,支持:SPDY, WebSocket, OSGi, JMX,JNDI, JAAS。Jetty
這個項目成立于 1995 年,現在已經有非常多的成功產品基于 Jetty,比如 Apache Geromino, JBoss, IBM
Tivoli, Cisco SESM 等。Jetty 可以用來作為一個傳統的 Web 服務器,也可以作為一個動態的內容服務器,并且 Jetty
可以非常容易的嵌入到 Java 應用程序當中。
特性
易用性
易用性是 Jetty 設計的基本原則,易用性主要體現在以下幾個方面:
- 通過 XML 或者 API 來對 Jetty 進行配置;
- 默認配置可以滿足大部分的需求;
- 將 Jetty 嵌入到應用程序當中只需要非常少的代碼;
可擴展性
在使用了 Ajax 的 Web 2.0 的應用程序中,每個連接需要保持更長的時間,這樣線程和內存的消耗量會急劇的增加。這就使得我們擔心整個程序會因為單個組件陷入瓶頸而影響整個程序的性能。但是有了 Jetty:
- 即使在有大量服務請求的情況下,系統的性能也能保持在一個可以接受的狀態。
- 利用 Continuation 機制來處理大量的用戶請求以及時間比較長的連接。
另外 Jetty 設計了非常良好的接口,因此在 Jetty 的某種實現無法滿足用戶的需要時,用戶可以非常方便地對 Jetty 的某些實現進行修改,使得 Jetty 適用于特殊的應用程序的需求。
易嵌入性
Jetty 設計之初就是作為一個優秀的組件來設計的,這也就意味著 Jetty 可以非常容易的嵌入到應用程序當中而不需要程序為了使用 Jetty 做修改。從某種程度上,你也可以把 Jetty 理解為一個嵌入式的Web服務器。
我們很高興地宣布碼頭9.1.1的可用性! 已經解決了超過90個問題,鼓勵大家盡快更新。解決的問題列在下面。 發布下載: - http://download.eclipse.org/jetty/ The artifacts are also available in Maven Central. P2 repositories are available as well. If you find an issue with this release you can open a bug through the guided bugzilla page located here: - https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Jetty&format=guided A reminder that both dev and prod support are offered through Webtide (www.webtide.com), feel free to contact us through that site or ping me directly if you are interested in learning more. cheers, jesse jetty-9.1.1.v20140108 - 08 January 2014 + 408912 JDBCSessionIdManager should allow configuration of schema + 410750 NPE Protection in Mongo save session + 417202 Start / command line arguments with ${variable} should be expanded + 418622 WebSocket / When rejecting old WebSocket protocols, log client details + 418769 Allow resourceBases in run-forked Mojo + 418888 Added strict mode to HttpGenerator + 419309 encode alias URIs from File.toURI + 419911 Empty chunk causes ArrayIndexOutOfBoundsException in InputStreamResponseListener. + 421189 WebSocket / AbstractExtension's WebSocketPolicy is not Session-specific + 421314 Websocket / Connect attempt with Chrome 32+ fails with "Some extension already uses the compress bit" + 421697 IteratingCallback improvements + 421775 CookiePatternRule only sets cookie if not set already + 421794 Iterator from InputStreamProvider is not implemented properly. + 421795 ContentProvider should have a method to release resources. + 422192 ClientContainer.getOpenSessions() always returns null + 422264 OutputStreamContentProvider does not work with Basic Authentication. + 422308 Change all session/sessionid managers to use shared Scheduler + 422386 Comma-separated <param-value>s not trimmed in GzipFilter + 422388 Test for GzipFilter apply to resources with charset appended to the MIME type + 422398 moved jmx remote config to jmx-remote.mod + 422427 improved TestConnection + 422703 Support reentrant HttpChannel and HttpConnection + 422723 Dispatch failed callbacks to avoid blocking selector + 422734 messages per second in ConnectorStatistics + 422807 fragment large written byte arrays to protect from JVM OOM bug + 423005 reuse gzipfilter buffers + 423048 Receiving a PING while sending a message kills the connection + 423060 Allow ${jetty.base}/work + 423118 ServletUpgradeRequest.getUserPrincipal() does not work + 423185 Update permessage-deflate for finalized spec + 423255 MBeans of SessionIdManager can leak memory on redeploy + 423361 Ensure ServletContainerInitializers called before injecting Listeners + 423373 Correct namespace use for JEE7 Schemas + 423392 GzipFilter without wrapping or blocking + 423395 Ensure @WebListeners are injected + 423397 Jetty server does not run on Linux server startup because of a bug in jetty.sh script. + 423476 WebSocket / JSR / @OnMessage(maxMessageSize=20000000) not properly supported + 423556 HttpSessionIdListener should be resource injectable + 423646 WebSocket / JSR / WebSocketContainer (Client) should have its LifeCycle stop on standalone use + 423692 use UrlEncoded.ENCODING for merging forwarded query strings + 423695 <HT> Horizontal-tab used as HTTP Header Field separator unsupported + 423724 WebSocket / Rename MessageAppender.appendMessage to .appendFrame + 423739 Start checks module files. + 423804 WebSocket / JSR improper use of ServerEndpointConfig.Configurator.getNegotiatedSubprotocol() + 423875 Update jetty-distro build to use jetty-toolchain jetty-schemas 3.1.M0 + 423915 WebSocket / Active connection from IOS that goes into airplane mode not disconnected on server side + 423926 Remove code duplication in class IdleTimeout. + 423930 SPDY streams are leaked. + 423948 Cleanup and consolidate testing utilities in WebSocket + 424014 PathContentProvider does not close its internal SeekableByteChannel. + 424043 IteratingCallback Idle race. + 424051 Using --list-config can result in NPE + 424168 Module [ext] should load libraries recursively from lib/ext/ + 424180 extensible bad message content + 424183 Start does not find LIB (Classpath) when on non-English locale + 424284 Identify conflicts in logging when error "Multiple servlets map to {pathspec}" occurs + 424303 @ServletSecurity not applied on non load-on-startup servlets + 424307 obfuscate unicode + 424380 Augment class / Jar scanning timing log events + 424390 Allow enabling modules via regex + 424398 Servlet load-on-startup ordering is not obeyed + 424497 Allow concurrent async sends + 424498 made bytebufferendpoint threadsafe + 424588 org.eclipse.jetty.ant.AntWebInfConfiguration does not add WEB-INF/classes for annotation scanning + 424598 Module [npn] downloads wrong npn jar + 424651 org.eclipse.jetty.spdy.Flusher use of non-growable ArrayQueue yield java.lang.IllegalStateException: Full. + 424682 Session cannot be deserialized with form authentication + 424706 The setMaxIdleTimeout of javax.websocket.Session does not take any affect + 424734 WebSocket / Expose Locale information from ServletUpgradeRequest + 424735 WebSocket / Make ServletUpgradeRequest expose its HttpServletRequest + 424743 Verify abort behavior in case the total timeout expires before the connect timeout. + 424762 ShutdownHandler hardcodes "127.0.0.1" and cannot be used with IPv6 + 424847 Deadlock in deflate-frame (webkit binary) + 424863 IllegalStateException "Unable to find decoder for type <javax.websocket.PongMessage>" + 425038 WebSocketClient leaks file handles when exceptions are thrown from open() + 425043 Track whether pools are used correctly. + 425049 add json mime mapping to mime.properties.
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!