快速业务通道

检验EJB 3.0 简化API规范 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-07-04

检验EJB 3.0 简化API规范

时间:2011-01-28 IBM Roland Barcia

Java™ Community Process(JCP)发布了 JSR 220 下 Enterprise JavaBeans™ (EJB) 3.0 规范的早期第二版草案,它分为三个文件:

EJB 3.0 简化 API:定义了新型的用于代码 Enterprise JavaBean Components 的简化 API ,尤其是会话 bean 和消息驱动 bean。

Enterprise JavaBeans 核心契约和需求:定义了 Bean 和 EJB 容器之间的 EJB 契约。

持久性 API:定义了用于持久性的新实体 Bean 模型。

在本栏中,我觉得我应该突出 EJB 3.0 简化 API 中的一些特性,并且评论一下能够做一些改进的地方。因为我只提出和讨论简化 API,因此当谈到 EJB 组件的时候,我将涉及到会话 bean 和消息驱动 bean,而不是实体 bean,因为在简化 API 下,没有包含持久性。

EJB 规范有很多目标,其中大部分目标我不会涉及到,但是简而言之:EJB 3.0 规范包括了 J2EE™ 5.0 规范的全部目标,其目的是要简化 J2EE 编程模型。正因如此,这部分规范与其说是一套功能性增强技术,还不如说是对原来规范的修改。然而,规范中仍然有许多新编程模型为开发者添加的技术,并且我会像查看某个特性一样谈论它们。

本文假定您已经了解了当前 EJB 规范的一些知识。

POJO 和注解

"POJO" (传统的 Java 对象)是一个最近在很多领域不再使用的术语。它涉及到作为普通 Java 类来编写的代码。因为 EJB 编程可以使您扩展特定的类,可以提供几个接口,并且可以编写部署描述符,所以它们被视为重载的 Java 对象而不再属于普通类。相反,开发者必须要有 J2EE 容器来运行和测试它们。我承认,不使用工具对 POJO 进行编码使得开发很困难。在 EJB 3.0 规范中:

EJB 组件不再需要本地接口。除此之外,EJB 组件没有必要再提供不同的接口或者扩展一些明确的 EJB 特定类别。

J2SE 5.0 注解现在是用于实现组件的一种主要的代理。通过详细说明这些特殊的注解,开发者可以创建 EJB 组件的 POJO 类。该类将通过注解处理器得以运行,并且潜在的容器将会提供管道。

EJB 3.0 引入了业务接口的概念。以下显示了一个实例:

public interface Stock {   public double getQuote(String symbol); }

Your Bean class can implement the interface:

@Stateless public class StockBean implements Stock   public double getQuote(String symbol)   {   return 100.33;   } }

以上的@无状态注解,意味着此类现在是一个无状态会话 bean,将使用业务接口来调用它。早期的草案中允许存在从 Bean 类产生业务接口的可能性。无需实现特定的接口和注解就可以对无状态会话 Bean 进行编码。以下显示了一个实例:

@Stateless public class StockBean   public double getQuote(String symbol)   {   return 100.33;   } }

检验EJB 3.0 简化API规范(2)

时间:2011-01-28 IBM Roland Barcia

那么注解处理器将会产生业务接口。在缺省情况下,所有公共的且非注入(injection)的方法都将包括在该业务接口中,除非这些方法是需要特殊注解的。举例来说,如果使用 @BusinessMethod 至少指定一个方法,那么只有那些使用 @BusinessMethod 指定的方法才会包括在业务接口中:

@Stateless public class StockBean   @BusinessMethod public double getQuote(String symbol)   {   return 100.33;   } }

现在我们有一个接口,那么我们如何指定某方法是远程的还是本地的?当然,我们可以使用注解:

@Stateless public class StockBean   @Remote public double getQuote(String symbol)   {   return 100.33;   } }

您可以对该业务接口或者该 Bean 类

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号