写点什么

开源 Servlet 容器 Jetty 7.0 发布

  • 2009-10-13
  • 本文字数:1155 字

    阅读完需:约 4 分钟

10 月 8 号,Jetty 7.0宣告发布,人们可由位于 Eclipse.org 上的新主页或通过 Maven Repository 下载。该版本不仅代表了 Jetty 6.0 的一次演变,而且还代表了代码库的重大调整和诸多性能改进。

InfoQ 曾在今年早些时候报道过 Jetty 投入 Eclipse 的怀抱;在 Jetty 6.0 依旧还将得到支持的同时,新的特性将针对 7.0 开发。Jetty 6.0 和 7.0 的基础都是 Servlet 2.5 API;处于试验阶段的 Jetty 8.0 将支持 Servlet 3.0 API,该规范有望于明年正式完成。

Jetty 6.0 的一个关键特性是在 Servlet 层引入了延续(Continuation),这将使长活动的客户端连接(如那些使用了 CometD ——又被称为 Bayeux 协议——的连接)成为可能。InfoQ 以前曾报道过 Jetty 6.0 的发布以及几个延续的示例,它们展示了在不向线程数目(以及相关开销)妥协的条件下,延续是如何被用来支持大规模并发用户的。

该技术的成功导致了Jetty 建议在 Servlet 3.0 规范草案中加入异步 Servlet。Jetty 7.0 实现的这些延续既可以无需修改就运行于 Servlet 3.0 实现之上,同时还可以向后应用于非 Jetty 的 Servlet 2.5 实现(非异步、阻塞)中。

由于迁移到了 Eclipse,因此代码也经过了重构(org.mortbay前缀已经被org.eclipse替换),而且单个的server.jar也已经被分割成几个组成部分(jetty-server.jarjetty-servlet.jarjetty-io.jar等)。模块化的一个附带好处是在不同的包之间带来了更多的强制的关注点分离,由此进而导致了更多的嵌入模块的方法。同时,Jetty 现在是一系列有效的 OSGi 包(具备定义良好的依赖关系),它仍然可以运行在 OSGi 运行时之外。

迁移文档中描述了包中的这些不同;鉴于大量的类名已经改变,Jetty 还提供了一个自动化工具来将配置文件中使用的类名转换成Jetty 7.0 的新类名。未来的升级(如升级到Jetty 8.0)将会小得多,因为未来这些包不会再经历一次重命名和重新打包。

基于旧版本Jetty 6.0 的 cometd-jetty 项目也已经过时,请使用基于 Jetty 7.0 的 cometd-java ,该项目现在已可从 CometD.org 访问。一份演示已经可供下载,它通过支持大数量的AJAX 客户端(它们创建了连接到后端服务器的长活动连接),同时不增加负荷,展示了异步延续的好处。

最后,Jetty 的创造者 Webtide 已于上月被Intalio 收购)也宣布了名为 Jetty-Hightide 的开源产品,它包括了一系列开源组件库:

  • Glassfish 的 JSP
  • 来自 atomikos 的 JTA
  • Maven plugin
  • Ant 集成
  • Spring 配置
  • Setuid

当前可供下载的Hightide 版本是以Jetty 6.0 为基础的,但在不久之后,将会提供一份包含Jetty 7.0 的修订版。

Jetty 可以在双许可证下获得,包括 Apache License 2.0 ,以及来自 www.eclipse.org/jetty Eclipse Public License 1.0 。此外,针对其他平台的 Jetty 包还可以从 Codehaus 获得,如用于 Linux 系统的 RPMs Debs

查看英文原文: Jetty 7.0 released

2009-10-13 01:073736
用户头像

发布了 255 篇内容, 共 64.3 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

天上掉下个“星纪元ET”!首次挑战空中坠落试验高调秀肌肉

极客天地

当「软件研发」遇上 AI 大模型

阿里巴巴云原生

阿里云 云原生 通义灵码

掌握高阶定位技巧:Xpath神功解析!

测吧(北京)科技有限公司

测试

星纪元ET首次上演空中“自由落体”,极致安全实力无惧硬核极限挑战

极客天地

Apache RocketMQ ACL 2.0 全新升级

阿里巴巴云原生

阿里云 云原生 Apache RocketMQ

将“安全”进行到底!星纪元ET挑战TOP Safety空中坠落试验现场大公开

极客天地

2024-05-08:用go语言,给定一个由正整数组成的数组 nums, 找出数组中频率最高的元素, 然后计算该元素在数组中出现的总次数。 输入:nums = [1,2,2,3,1,4]。 输出:4。

福大大架构师每日一题

福大大架构师每日一题

单体到微服务架构的涅槃重生之路?

智在碧得

微服务 微服务架构 单体架构 单体项目 单体服务

AIGC时代IT人的迷茫有解(3):从“用户画像”到“个人职业画像”

养心进行时

职业规划 用户画像 #职业发展

锁定“场景”,告别“需求不明确”

养心进行时

需求 场景 场景化 场景化思维 需求澄清

一键自动化博客发布工具,用过的人都说好(oschina篇)

不在线第一只蜗牛

运维 自动化

从代码到洞察:使用API接口深入分析商品详情数据

Noah

安全是最大的豪华!星纪元ET成功挑战31.9米空中坠落试验

极客天地

理论+实践,带你了解分布式训练

华为云开发者联盟

机器学习 华为云 华为云开发者联盟 大语言模型 企业号2024年5月PK榜

新一代智慧音视频平台,企业必备新基建

中关村科金

音视频 企业服务 大模型

程序员离不开的10款开发软件(必备)

伤感汤姆布利柏

当「软件研发」遇上 AI 大模型

阿里云云效

阿里云 云原生 通义灵码

锁定“用户人群”,远离“ 需求取舍难”

养心进行时

需求 用户 用户画像 需求澄清 需求评审

芯盾时代IAM,三种权限管理模型按需选择

芯盾时代

权限管理 iam 统一身份认证 统一身份管理平台 最小权限管理

开源Servlet容器Jetty 7.0发布_Java_Alex Blewitt_InfoQ精选文章