专访JSR-299核心开发者:Java EE即将得到巨大提升

ZDNet软件频道 时间:2009-12-03 作者: |  我要评论()
本文关键词:
JCP即将为Java EE 平台投票Java Contexts和Dependency Injection(也就是JSR-299和CDI),最终的结果将在12月10号发布。*一个网络谈话环境(conversation context)以及由Java Servlets specification定义的三个标注的web环境  *一个SPI便携扩展用以与容器集成。

  JCP即将为Java EE 平台投票Java Contexts和Dependency Injection(也就是JSR-299和CDI),最终的结果将在12月10号发布。JSR-299实时参考(reference implementation)即Weld的主管Pete Muir接受了记者的采访。Pete Muir工作于JBoss,还是Seam以及Weld项目的核心开发者。他表示299 spec最终将被JCP通过。他还说,JSR-299 specification将为Java EE平台提供扩展,从而带来巨大提升(massive boost)。

  Muir说,新的扩展意味着可以更简单地写入和添加应用(如excel 电子表格的生成和安全模块等)从而运行在任何支持JSR-299的容器上。之前Java EE中非常困难的一件事情是向内置的功能中构建扩展。在JSR-299之前,Java EE 6的应用循环中非常需要添加功能。Muir说,没有办法知道一个应用是开始还是终止;也没有办法知道应用中有什么Beans以及配置了哪些类。现在有了JSR-299完整的Metadata SPI,开发者可以注册Lifecycle Listeners,并且当事件发生的时候(比如class processing和bean创建)可以要求通知。Muir说,有了这些扩展许多强大的应用可以植入Java EE平台中。

  那么JBoss为Java EE的扩展提供了哪些灵感呢?Muir说,我们开发Seam 并基于此设计一个新的释义(contextual dependency)注入引擎,包括Guice框架等,这些都为CDI/299提供了灵感。Seam还为Java EE提供了许多其他扩展,我们将用它们继续开发Seam 3,并作为便携式扩展向任意CDI环境中添加它们。 Muir表示Seam安全模块就是一个例子,它证明可以通过扩展向Java EE中添加解决方案。而且不只是开发商会通过JSR-299构建扩展,Muir说,任何人都可以创建扩展,可以向Java EE平台中添加额外功能,实际上可以用你认为更好的功能替代许多核心功能。无疑这将给开发者带来许多开发选择。

  以下是JSR-299的一些主要特性:

  Weld

  * Wicket 集成(Wicket integration)

  *OSGI容器的整合

  * Weld的GWT集成

  可用于:

  * GlassFish V3

  * JBoss AS 5.2.0 Beta1

  * Java SE 5.0

  * Tomcat 6

  * Jetty 6.1 (Muir表示Jetty 7还没有测试但应该也可用)

  JSR-299

  它定义了一套强大的互补型服务(complementary services),用以改善应用代码的结构。

  *一套良好定义的生命周期,而这套contexts 是可以扩展的。

  * 一种高级的、类型安全的依赖注入(dependency injection)机制,包括无论是在配置还是开发时选择依赖的能力,而这一切并不需要太多的配置。

  * 支持Java EE模块化以及Java EE组件架构(component architecture)。当在Java EE组件间解析依赖时,会考虑一个Java EE应用的模块化架构。

  * 与Unified Expression Language (EL)集成,允许在JSF或者JSP页面中直接使用任何上下文对象(contextual object)。

  * 修饰注射式对象(injected objects)的能力。

  * 通过安全类型拦截绑定(typesafe interceptor bindings)与拦截器协同。

  *一个事件通知模型。

  *一个网络谈话环境(conversation context)以及由Java Servlets specification定义的三个标注的web环境

  *一个SPI便携扩展用以与容器集成。(编译/王玉磊)


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134