EJB 工作原理之二:类一览

本人没有用过Weblogic,这里就结合WebSphere来讲讲各个类的调用关系吧。

假定我们要创建一个读取User信息的SessionBean,需要我们写的有3个文件:
1. UserServiceHome.java
Home接口

2. UserService.java
Remote接口

3. UserServiceBean.java
Bean实现

WSAD最终会生成10个class。其它7个是什么呢?我们一个一个数过来:

4. _UserServiceHome_Stub.java
这个当然就是Home接口在Client端(动态加载)的Stub类了,它implements UserServiceHome。

5. _EJSRemoteStatelessUserServiceHome_a940aa04_Tie.java
Home接口在Server端的Skeleton类,"a940aa04"应该是随机生成的,所有其他的相关class名里都会有这个标志串,Tie是Corba对Skeleton的叫法。

6. EJSRemoteStatelessUserServiceHome_a940aa04.java
Home接口在Server端的实现,当然,它也implements UserServiceHome。

7. EJSStatelessUserServiceHomeBean_a940aa04.java
由#6调用,create _UserService_Stub。(为什么#6不能直接create _UserService_Stub呢?后面再讲。)

8. _UserService_Stub.java
Remote接口在Client端(动态加载)的Stub类。它implements UserService。

9. _EJSRemoteStatelessUserService_a940aa04_Tie.java
Remote接口在Server端的Skeleton类。

10. EJSRemoteStatelessUserService_a940aa04.java
Remote接口在Server端的实现,当然,它也implements UserService。并且,它负责调用UserServiceBean——也就是我们所写的Bean实现类——里面的business method。

那么,各个类之间的调用关系到底是怎么样的呢?简单的说,就是两次RMI循环。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值