免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1919 | 回复: 6
打印 上一主题 下一主题

绝对原创----ejb心得 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-03 13:18 |只看该作者 |倒序浏览
ejb分为实体bean和sessionBean 和消息驱动Bean
其中实体bean和sessionBean用的较为广泛。
在调用过程中主要是远程接口和home接口。
如:t=client.create();
其中client就是home接口,而create();方法实际返回一个远程的ejb对象.
而此时就可以调用具体的业务方法.
因为要调用的业务方法就在sessionBean的t(远程接口)里,所以还要实现这些方法。
而这些方法在sessionBean里给予具体的实现。
这时就可以完成初步的调用。当然调用还是调接口就可以!
在具体实行方法调用数据库的过程中在完成从数据库给数据模型的复值完成时,在
本地硬盘当中用  java.rmi.MarshalledObject$MarshalledObjectOutputStream 的方法
将已经复值的对象用输出流在本地复制一份。
  private void writeObject(ObjectOutputStream oos) throws IOException {
    System.out.println(":::::::::::::::::::::::::::::::::::"+oos);
    oos.defaultWriteObject();
  }
以上的该方法就是写对象的方法。


(实际以后远程调用的就是本地硬盘中的这个
复值的东西)
而在远程调用的时候:
如:  l = (ArrayList) m(远程接口调用的远程方法).teacherlist();
在执行该方法之前时,要通过远程先访问数据模型类中的readObject()方法.
  private void readObject(ObjectInputStream ois) throws ClassNotFoundException,
      IOException {
    System.out.println("_______________________________________"+ois);
    ois.defaultReadObject();
  }
当完成该方法时说明已经获得远程的对象,而这个对象也就是我们需要访问的远程数据.
拿到这个对象时候,在执行 l = (ArrayList) m(远程接口调用的远程方法).teacherlist();方法,
就可以将远程的数据复值给本地的对象

论坛徽章:
0
2 [报告]
发表于 2005-11-03 13:35 |只看该作者

希望大家支持

谢谢!

论坛徽章:
0
3 [报告]
发表于 2005-11-03 13:43 |只看该作者
自己顶!

论坛徽章:
0
4 [报告]
发表于 2005-11-03 20:53 |只看该作者
看的晕晕糊糊。。

不过还是赞赏楼主的精神。。希望能再看到你的原创

论坛徽章:
0
5 [报告]
发表于 2005-11-04 16:49 |只看该作者

谢谢支持!

希望愿意研究EJB的朋友和我交流!
siqiabc@163.com

论坛徽章:
0
6 [报告]
发表于 2005-11-04 16:59 |只看该作者
太少了,过于简单

论坛徽章:
0
7 [报告]
发表于 2005-11-05 15:02 |只看该作者
楼主说的这个都是by-value的参数传递方法, 是RMI-IIOP应用程序的基本通讯方式,
EJB本地接口之间的参数传递就全部是by-reference了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP