RESTful Web 服务框架 Jersey 2.0 的最终版本最近发布了。该版本带来了客户端 API,并支持异步的客户端与服务。Jersey 2.0 是 5 月底发布的 JAX-RS 2.0 API 规范( JSR 339 )的参考实现。
该框架基于 Java,而且为了实现 JAX-RS 2.0 规范中的重大变化进行了大范围重构,其中包括:
- 用于与通过 HTTP 协议公开的 RESTful 或任何其他 Web 服务通信的客户端 API。这一新的 JAX-RS 客户端 API 构建于专有的 Jersey 1.x 客户端 API 的概念之上,因此熟悉 1.x 客户端的开发者能够很容易地迁移到新版本。
- 带有链接关系类的超媒体支持,可以根据 HATEOAS 概念构建超链接。例如,可以构建指向关联资源的链接,或构建用于修改资源状态的链接。
- 利用过滤器和拦截器,在客户端和服务器端监控和修改进入和发出的消息成为可能。例如,在收到请求以及在向响应添加首部时,可以包含认证。
- 异步的客户端与服务。在服务器端,有可能在使用更少资源的情况下提高吞吐量;释放最初的请求线程,异步处理请求,在处理完毕后,取回一个新线程进行响应。在客户端,因为异步发送请求,负载可能会同样减少,而且可以使用 Java API 中的 Future 来等待响应。
Jersey 2.0 的大范围重构导致 1.x 和 2.0 版本之间存在很多不兼容之处,因此开发团队决定在文档中加入了“迁移(migration)”一节。
Marek Potociar 是 Jersey 开发团队的一位开发人员,在这两年的工作中,他写了多篇博客,还有一篇关于 2.0 版本的综述,其中列出了该版本的主要变化。
还有其他一些信息可以参考:
- Oracle 著名的 Java 布道师 Arun Gupta 在一次演讲中的幻灯片。
- Java EE 7 文章中的一些示例代码。
开发团队已经将 git 作为主要的版本控制系统( VCS ),并将项目库移到了 GitHub ,希望借此使社区可以更方便地为项目作出贡献。
查看英文原文: RESTful Web Services Framework Jersey 2.0 Released, Implementing JAX-RS 2.0 Specification
评论