网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.浅谈Java桌面应用程序开发.
.JAVA里字符编码的探索与理解.
.Java 3D 骰子动画代码范例.
.J2EE项目10大风险.
.Java的多功能运算符.
.JavaSocket编程(二)Java面向连.
.我们组的Web应用开发方式.
.修成JAVA高手的基本素养.
.14.7.4 Addition operator.
.六个for循环的Java小程序源码展播.
.Swing 破局:打造半透明窗口.
.使用的DES对称加密.
.用Java实现IRC文本到语音转换.
.Java和以网络为核心的未来.
.ScriptEngineMinorVersion 函数.
.使用xmlhttp和Java session监听改.
.使用java.util.Timer.
.获取utf-8源码(从中文到utf-8).
.从数据库读出的JPG文件的字符流,.
.Java Development Kit (JDK) 7 B.

基于weblogic 的ejb 学习笔记(二)

发表日期:2008-1-5


基于weblogic 的ejb 学习笔记(二)

编辑实体bean的高级课程
1. 怎样开发主健类
ejb的主健类主要用做持久存储和ejb容器中的唯一标识符.
通常主健类的字段直接映射到数据库中的主健字段.
假如主健只是由单个实体bean字段组成.且其数据类型是基本的Java类.如string,则bean作者不必开发自定义的主健类.
只需要在配置描述器中指定类的名字和主健字段即可

假如把主健映射到一个用户定义的类型,或者映射到多个字段,则bean的作者必须写出自定义的主健类.

主健类必须实现 java.io.serializable,而且包含主健字段.

对于cmp,字段名必须匹配实体bean中的相应的主健字段名,这将使ejb容器能够把适当的cmp字段赋值到主健类中的相应字段中.

2. 实现hashcode()方法
hashcode() 方法的实现原理是,利用主健字段,经适的处理后,生成并返回一个整数. 这个生成的整数称为散列码,用作表格的索引.
对于一个给定的主健,hashcode()方法的返回值应当总是一样的. 常见做法: 执行"异或" 操作.

3. 实现 equals() 方法
 正确地实现equals()方法也需要一定的技巧. 任何equals() 方法的第一行都应当检查传递进来的引用是否是"this", 检查equals()
 方法是否是针对自己的调用. 通常做法: 当容器有一个主健对象时,她要检查这个主健对象是否已经存在于数据结构中.

 接着,equals() 方法需要检查传递进来的主健类的类型. 假如主健类是中继类(final),可以使用instanceof 进行简单的检查.
 否则,传递进来的参数也许是主健类的子类.在这种情况下,equals() 方法必须使用getClass.equals, 以确保类的类型是匹配的

 建议主健类采用终极类. (instanceof 效率要高一些)

 最后,equals() 方法需要需要比较传递进来的对象的所有值. 假如所有值是相同的,说明对象也是相同的
 注重: 要先比较散列码.

 4 实体bean的继续和异构
   实体bean 可以利用java的继续和异构的特性.

5. 继续的限制
尽管ejb 规范答应组件之间的继续,但夜游一些细微的规则限制了怎样设计和实现一个继续的ejb.
 ejb的规则要求,本地接口的create() 方法返回的远程接口不能是一个子类,也不能是超类. 实体bean 的ejbreate() 方法也
 必须返回主健类型,也不能是一个子类,也不能是超类.
类似的findByPrimaryKey()方法必须使用主健类型作为参数返回远程接口.
这些要求限制了bean作者对继续的实现.

6. 继续和异构的设计模式

注重: 具有继续和异构特性的实体bean,很重要一点就是要确定一般情况下究竟都需要使用哪一些属性.

7 . 接口的继续

通过bean类的继续性,bean作者只需要在一个地方实现业务方法,其它实体bean就可以共享类中的方法了.

8 使用多个bean类
  为本地和远程接口创建一个基本接口,不是达到异构共享的唯一方法. 另一个常见的做法是
  使用等同的本地和远程接口,但采用不同的bean类实现其中的业务方法.
  这种做法类似于使用一个具有若干不同实现的接口. 
  好处: 客户不知道或根本不管正在使用哪一种实现,客户机只对接口进行操作.

9. 实体bean 与锁

    实体bean 不是可重入的或多线程的组件,每个实体bean实例也没有多线程控制的能力。
一次实体bean 类中的方法也不是同步化的。
    实体bean实例不能是多线程的,所以ejb容器必须串行地执行所有的容器方法和业务方法。
这意味着当业务方法正在执行时,ejb容器不能再调用其它方法,比如 ejbPassivate()方法。

    并发控制:
        一种做法是对每一个事务都激活实体bean实例。同过数据库的访问锁的方式进行并发处理。
        一种方法是,每一个主健只保持一个实体bean实例,这样一次只有一个事务可以访问实体bean。一旦
            前一个事务提交或回滚,才答应另一个事务使用这个实体bean实例。
    并发控制策略:
        数据库并发控制:
            除非非凡情况,应尽量使用默认的数据库并发控制。
        排它性并发控制:


上一篇:J2ee学习流程(转) 人气:440
下一篇:dom4j中文问题解决方法。 人气:732
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐