设为首页 加入收藏

TOP

EJB3.1五大模式改进令JavaEE6更好用
2014-11-12 13:45:07 来源: 作者: 【 】 浏览:33
Tags:EJB3.1 五大 模式 改进 JavaEE6 更好

  EJB(Enterprise JavaBeans)是使用Java EE开发和部署业务应用系统的服务端组件架构,使用EJB编写的应用系统是可扩展的、事务型和安全的。EJB 3.0是Java EE 5平台的一部分,相对前面的版本,它更加易于使用,它的最新版本 ― JSR318:EJB 3.1 ― 随Java EE 6发布,进一步简化了使用,并提供了许多反应常见使用模式的改进,如:


  1、无接口视图:允许你指定一个企业Bean,只使用Bean类,不用编写独立的业务接口。


  2、单元素集合:让你在一个企业Bean组件的多个实例间轻松地共享状态,或是在一个应用程序的多个企业Bean组件之间共享状态。


  3、异步会话Bean调用:通过指定一个注解,让你可以异步调用会话状态方法。


  4、简化打包:消除了企业Bean类必须打包到ejb-jar文件的限制,现在你可以直接将EJB类放到WAR文件中。


  5、轻量级EJB:它是EJB 3.1的子集,包括大量的Java EE profiles。


  无接口视图


  EJB 3.0本地客户端视图是基于普通旧式Java接口(POJI)调用本地业务接口的,本地接口定义了暴露给客户端的业务方法,并是在Bean类上实现的,这种独立的接口有时会带来不必要的麻烦,并且价值也不大,相同模块内的来自客户端的本地访问细粒度组件尤其如此。


  EJB 3.1通过让本地业务接口成为可选组件简化了这个方法,没有本地业务接口的Bean暴露的是无接口视图,现在你不用编写独立的业务接口就可以获得相同的企业Bean功能。


  无接口视图与EJB 3.0中的本地视图具有相同的行为,例如,它支持如通过按引用调用语义、事务和安全传播等特性,但无接口视图不需要单独的接口,即Bean类所有的公共方法自动暴露给调用者。默认情况下,任何有空implements子句,且没有定义任何其它本地或远程客户端视图的会话Bean,暴露的是一个无接口视图。下面的会话Bean暴露了一个无接口视图:


  1.@Stateless


  2. public class HelloBean {


  3.


  4. public String sayHello() {


  5. String message = propertiesBean.getProperty("hello.message");


  6. return message;


  7. }


  8.


  9. }


  10.


  使用本地视图时,无接口视图的客户端总是获得一个EJB引用 - 通过注入或JNDI查找,唯一的不同之处是EJB引用的Java类型是Bean类类型,而不是本地接口的类型,如下面的Bean客户端:


  11.@EJB


  12. private HelloBean helloBean;


  13.


  14. ...


  15.


  16. String msg = helloBean.sayHello();


  注意,虽然这里没有接口,客户端不能使用new()明确地实例化Bean类,那是因为所有Bean调用都是通过一个特殊的EJB引用,或由容器提供的代理实现的,这样就允许容器提供其它的Bean服务,如池、容器管理的事务,并发管理等。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇JavaEE6Web层:Servlet获得异步支持 下一篇模块化编程的优点与实现原理概述

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: