技术开发 频道

Java EE 6体系结构的变革

  EJB 在 Java EE 5 就已经经历过了非常大的改动。也许看似不可能,但实际上 EJB3.0 还是在社区中广泛得到认可,并且采纳它的人也在不断增长。而这一切也许是因为我们过度的认为需要怎么怎么简化 Java EE 5 才取得这样的成绩。比如说,对 JBoss Seam 的兴趣和 GlassFish 的热情都是重要的关键因素。 EJB3.1 的目标就是在增加业务组件时,继续让 EJB 变得尽可能简单。下面是对 EJB3.1 特性的高度概括:

  原本需要甚至实现 Session Beans 的业务接口变得可选了,不再强迫要求实现。在使用 Session Beans+JSF+WebBeans 的场景下尤其有用。

  EJB3.1 增加了 Singleton Beans 的概念。因为人们更倾向于管理共享的应用程序状态,需要保证是完全线程安全的模型。此外, EJB3.1 新增的声明式的并发控制也更加灵活。

  EJB3.1 一个可圈可点的的强大特性就是支持 cron 风格的 scheduling 。除目前基于 timer API 的调度计时器外,声明式和编程式的 cron 风格的 scheduling API 也加入了进来。

  另一个强大的特性就是可以通过使用 @Asynchronous 标注来对 Session Bean 的方法进行异步调用。你甚至还通过它来控制异步 EJB 方法从而返回一个 java.util.concurrent.Future 对象

  EJB3.1 Lite 概念的逐渐引入形成了一个 EJB API 的子集,并在 Web Profile 中得到应用。只不过 EJB Lite 包含了像事务处理和安全这样的特性,而那些消息机制,远程调用以及 scheduling 等非必须的自然没有必要加入其中。除上述列表所述特性外,

  EJB3.1 的特性还包括:括直接将 EJB 打包成 war 文件,可运行在 embedded 的容器中便于 Java SE 环境进行 JUnit 测试,使用统一的标准化全局 JNDI 命名方式。 EJB3.1 的公开草案可从以下链接获得: http://jcp.org/en/jsr/detail?id=318

0
相关文章