选择显示字体大小

循速渐进学用session bean(四)

session bean要求、限制和许可

  在ejb规范中,对session bean有一些限制和要求。这些限制会指出哪些是bean必须做的,哪些是不能做的,以及bean必须实现的一些方法和接口。也有一些规范指出哪些处理是允许做的,这是为了避免你以为这些处理是被其它限制禁止的。

  实现sessionbean接口

  session bean必须实现javax.ejb.sessionbean接口

   声明该类为public,而不是final或者abstract

   要记住ejb容器需要创建bean实例,因此该类必须是public,而且不是抽象的。

  创建一个pubic,无参数的构造器

   同样,由于ejb容器必须创建bean的实例。如果构造器是protected或者private,容器就不能创建实例。

  不要实现finalize方法

   虽然你很少需要定义一个finalize方法,不过ejb规范中还是明文禁止在session和entity bean中定义finalize方法。如果你的bean需要做任何清除的操作,它们应该在ejbremove或者ejbpassivate方法中进行。

  实现create方法和所有的remote方法

  一个session bean必须实现home接口中指定的全部create方法,以及remote接口中指定的全部方法。在实现这些方法时,有一些额外的要求:

  . 这些方法必须是public,而不能是static或者final

  . 参数和返回的类型必须是有效的rmi/iiop返回类型。在通常的情况下,这意味着必须是原有的类型(int, char, double等),可串行化的对象或者remote接口。

  . 方法名不能以ejb开头(这将令ejb的配置工具感到迷惑,并且可能带来冲突)

  可选择的实现remote接口

  对于一个bean可以实现remote接口,这个特性也是挺重要的。在实现类中,其中的方法签名必须和reomote接口中的一样,除了一点,就是实现类中的方法并不抛出remoteexception。也就是说,虽然对于remote接口的每个方法,在实现类中都必须要有相应的方法对应,而且不需要作如下的声明:

  public class shoppingcartimpl implements sessionbean, shoppingcart

  实现remote接口的原因是:在漏掉一个方法时编译器将会告诉你,也就是说,如果没有实现remote接口中的一个方法,编译器将会产生一个错误。否则,你将不知道漏掉了一个方法,直到你运行一个配置工具或者是打包工具为止。越迟发现错误,就要花越长的时间来改正它。

  在实现remote接口时,可能会遇到的问题是使用this关键字来传送对象,而不是使用session context中的getejbobject方法。通常,当使用this而不是getejbobject时,编译器将会产生一个错误,因为它期待一个实现remote接口的对象,而实现类却这样做。通过实现remote接口,你通过了编译,但是你在运行时又碰到了错误,这是由于与ejb容器期待的不同,实现类并不是一个到remote接口的正确引用。

  提示

  虽然实现remote接口可以指出在编译时的错误,但是这样也会导致出现一些直到运行时才会发现的错误,令修改起来很费时间。所以你最好不要实现remote接口,而在配置时发现一些错误。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons