|
简化的部署
EJB 3.1还首次提供了动态、更加简化的部署方式,支持.WAR文件内的部署。在打包到WEB-INF/classes或是WEB-INF/classes下的.jar文件中时,具有组件定义(component-defining)注解的类将成为Enterprise Bean组件。此外,还可以通过WEB-INF/ejb-jar.xml文件来定义Enterprise Bean。打包到.WAR中的Bean共享单独的命名空间并成为.WAR环境的一部分。这样,将.jar打包到WEB-INF/lib下就与将class 文件放到WEB-INF/classes中是一样的了。
新规范另一个值得注意的特性就是EJB Lite。对于很多应用来说,EJB技术显得过于庞大了。EJB Lite提供了EJB的一套子集,关注于Session Bean的使用。它提供了一种方式以嵌入式风格来使用EJB组件,这简化了单元测试。EJB Lite支持无状态、有状态以及单例的Session Bean。Bean可以有Local接口,也可以没有接口。他们可以与拦截器协同工作并使用事务和安全等容器服务。
EJB 3.1是个强大的开发者工具集,能满足应用80%的需要。规范的未来是光明的,同时也首次明确地提及了未来Java SE的裁剪机制将要移除的特性。未来可能会移除的特性包括老式的容器管理和Bean管理的持久化、Entity Bean的EJB 2.1客户端视图、EJB QL(EJB 2.1的查询语言)以及基于JAX-RPC的Web Service支持(包括J2EE 1.4引入的端点和客户端视图)。显然,EJB 3.1是个引人注目、向后兼容的升级,它代表了5年前开始的JSR 220(EJB 3.0)的新进展。 |
|