Enterprise bean的开发 - 编程入门网
Session();
}
会话bean的home接口: 在前面我们说过,一个会话bean只有一个客户。这就是说,当一个客户创建一个会话bean的时候,这个会话bean的实例只是为了这个创建它的客户而存在(这里,我们指的是有状态的会话bean。无状态的会话bean因为并不保持会话的状态,所以可以多个客户)。---www.bianceng.cn 因为home 接口包括了一个或多个的Create()方法的定义,成为会话bean的工厂。对每一个Create()方法,EJB规范定义了如下的命名约定: 它的返回值是会话bean的remote接口的类型。 方法的名字只能是Create()。 对会话bean类中的每一个ejbCreate()方法都必须有一个Create()与之对应。 对于每一个Create()方法的参数的类型和数量都必须与会话bean类中的ejbCreate()方法相对应。 方法必须抛出java.rmi.RemoteException例外。 方法必须抛出javax.rmi.CreateExeption例外。 Create()方法的参数是用来初始化新的会话bean对象的。 如下代码显示了一个会话bean对象的不同的Create()方法,其中必须的部分用粗体显示:
注意,会话Bean的home 接口并没有定义finder方法来定位对象。因为一个有状态的会话bean只是给创建它的客户使用。如果不是客户自己创建的会话Bean,没有必要也不允许去定位这样的一个会话Bean。 Enterprise bean的开发(6)时间:2010-12-26实体bean的home接口: 跟会话bean的home接口一样,实体bean的home接口提供了Create()的方法。另外,实体bean的Home接口还提供了finder方法,这样,客户就能够定位并使用实体bean的对象。Finder操作是必要的,因为实体bean是长时间存活的,可以被多个客户所使用。对于大多数的应用程序而言,实体bean的实例是存在的,客户只需要找到一个用来使用就可以了。 一个Entity bean的home接口必须提供一个缺省的finder方法:finderByPrimary(primaryKey)。这个方法允许客户通过主键来定位Entity bean。方法只有一个唯一的参数:主键。方法的返回值类型是实体bean的remote接口类型。主键的类型可以是扩展了Java Object类型的任何Java类型。在配置描述器中,你必须告诉容器主键的类型。注意,根据定义,findByPrimaryKey()方法总是返回一个单个的Entity 对象。而其它的finder()方法可以返回Entity对象的集合。 下面是findByPrimaryKey()方法的定义: findByPrimaryKey(key) throws java.rmi.RemoteException,FinderException; home接口还可以定义别的finder()方法。每一个finder()方法都必须在Enterprise bean类里面有一个对应的实现。每一个finder方法都必须符合如下的约定。 返回值的类型是remote接口类型,或者finder方法能够返回不止一个的Entity对象,或者一个以remote接口为内容类型的集合类型。有效的Java集合类型是java.util.Enumeration接口(JDK1.1规范)或java.util.Collection接口(java 2规范)。 finder方法总是以前缀find开头。在实体bean 类里面以前缀ejbFind开头。 必须抛出java.rmi.RemoteException异常。 必须抛出javax.ejb.FinderException异常。 在home接口中的的throws子句与实体bean类的ejbCreate()方法的throws子句也必须对应。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |