JavaEE6新特性尝鲜:EJB3.1重要变化总览

【精选译文】EJB 3.1规范的主要目标是使EJB尽可能简单,其核心思想是简化EJB架构同时引入新的功能,EJB 3.1中一些重要的变化包括:

编辑推荐:Java EE 6遥遥无期 预览版两极分化

移除了本地事务接口:EJB 3.0移除了复杂的本地和远程接口,为简单旧式Java接口(plain old Java interface,POJI)开路,EJB 3.1更进了一步,事务接口也不用再强制遵循了,类似于POJO,如JPA中的实体和消息驱动Beans,在Java EE 6中,开发者可以不用事务接口编写会话Beans了:

 
 
 
 
  1. @Stateless 
  2. public class StockQuoteBean {  
  3.    public double getStockPrice(String symbol) {  
  4.       ...  
  5.    }  

引入了Singleton Beans:引入Singleton beans概念主要是为了共享应用数据和支持一致性访问,当一个Bean被标记为Singleton时,在整个应用层容器只能保证每个JVM共享一个实例,对于缓存这一规定是行之有效的,Singleton beans和其它EJB一样,它们是开发人员可以通过注解将它们标记为Singleton beans的POJO。

默认情况下,所有Singleton beans都是事务性和线程安全的,具有灵活的并发性选项,Java EE 6也引入了并发性注解在getter和setter函数上执行锁定的读/写操作。

 
 
 
 
  1. @Singleton 
  2. @Startup 
  3. public class CounterBean {  
  4.    private int count;  
  5.    @PostConstruct 
  6.    public void initialize() {  
  7.       count=5;  
  8.    }  
  9. }  

直接用WAR文件打包EJB组件:EJB 3.1中一个重要的改进是可以直接将EJB组建打包到WAR文件中,不用再独立创建jar文件了,EJB 3.1为Web应用程序提供了一个简化的打包机制,图1显示了EJB 3.1以前的打包方式。

 
图 1 EJB 3.1之前的打包方式(EJB 3.0打包结构)

使用EJB 3.1后,开发人员可以直接将classes目录下的EJB和servlets一起打包到WAR文件中,图2显示了EJB 3.1的打包方式。

 
图 2 EJB 3.1打包方式结构图

在Java SE环境中嵌入API执行EJB:这个特性背后的思想是允许EJB在Java SE环境中运行,即客户端和EJB在相同的JVM中运行,为了运行EJB,Java EE 6提供了一个嵌入式EJB容器,使用JNDI进行检查,这为测试,批处理过程和在桌面应用程序中使用EJB提供了便利,嵌入式EJB容器提供了一个管理EJB的环境,这个环境支持有限的服务,javax.ejb.EJBContainer类表示一个嵌入式容器。

异步会话Beans:一个支持异步函数调用的会话Bean,使用@Asynchronous注解的Bean函数是异步调用的,在EJB 3.1之前,在会话Bean上的任何函数调用都是同步的。异步函数可以返回一个java.util.concurrent API的Future 对象,当客户端想获取调用的状态时这个非常有用,通过检索函数返回的值,检查一个异常,或者取消调用。

EJB Lite:许多企业级应用不需要EJB完整的功能,因此在EJB 3.1中引入了EJB Lite,它是EJB API的一个子集,EJB Lite包括了创建一个企业级应用的所有功能,但不包括专业的API。EJB Lite提供了厂家选项,让厂家可以在它们自己的产品中实施EJB API的子集,使用EJB Lite创建应用程序可以部署到任何支持EJB的服务器上,不管它是完整的EJB还是EJB Lite,嵌入式容器也支持EJB Lite,EJB Lite有以下EJB API子集:

◆会话Bean组件(Stateless,stateful和singleton会话Bean)

◆只支持同步调用

◆容器管理和Bean管理事务

◆声明和编程安全

◆截取器

◆支持部署描述信息(ejb-jar.xml)

图3中显示的EJB Lite支持的功能在完整的EJB中也全部支持。

 
图 3 EJB 3.1 Lite和EJB 3.1完整版支持的功能对比

原文:New Features in Java EE 6

作者:Sangeetha S.

【编辑推荐】

  1. 为什么我喜欢EJB 3.0并且尤其喜欢EJB 3.1
  2. Java开发三剑客JSF2.0、EJB3.1、JPA2.0现状及发展
  3. EJB3.1新特性一览 Time服务更强大
  4. EJB初学者常见的12个困惑问与答
  5. Java语言中关于EJB技术的概论

网站题目:JavaEE6新特性尝鲜:EJB3.1重要变化总览
URL网址:http://www.hantingmc.com/qtweb/news40/456140.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联