您的位置:首页 > 编程语言 > Java开发

EJB学习笔记--体系结构

2006-11-08 12:20 429 查看
1. EJB底层采用RMI(Remote Method Invocation)技术

2. 客户在桩(stub)上调用远程对象方法,服务器解析发自桩调用的对象称为骨架(skeleton),桩和骨架的实现不必关心

3. 所有的远程方法必须声明java.rmi.RemoteException异常,因为网络随时可能瘫痪

4. java.rmi.RemoteException为受查异常,客户必须处理或声明这个异常

5. RMI可传递对象类型必须为基本类型,Serializable对象,由基本类型或Serializable对象组成的数组或集合,Remote对象其中的一种

6. 通过一个远程方法传递远程对象时,Java实际上发送的是这个远程对象的桩

7. 对于远程调用,Java按对象副本来传递对象,而不是按引用副本来传递

8. 不要指望Map集合的values()方法返回的Collection一定是Serializable。应该把值放在你相信肯定是Serializable的集合中,比如ArrayList,然后才能把他们作为远程方法调用的一部分进行传递

9. 远程客户是指在另外一个JVM中运行的对象

10.             远程对象和桩必须都实现同样的接口。这个接口包括了客户想调用的方法。

11.             远程接口必须满足(1)必须扩展java.rmi.RemoteException(2)每个方法必须都声明java.rmi.RemoteException(3)参数和返回类型必须都是可传递的

12.             远程对象不是bean,它是bean的保镖—EJBObject

13.             EJBObject负责安全,事务以及持久存储

14.             EJBObject是由容器来创建,组件接口是一个扩展了EJBObject的接口

15.             你负责创建(组件接口,bean类,Home接口),容器负责(EJBObject类,EJBObject桩类,Home类,Home桩类)

16.             每个Session Bean和 Entity Bean都有一个Home

17.             JMS Bean没有home,没有客户视图

18.             Home是bean的工厂,负责分发Bean组件接口的引用,一个Bean对应一个Home,Bean的实例化个数与Home的实例化个数无关,实例化的Home永远只有一个

19.             客户通过Home的create()方法创建一个Bean的引用(实际是EJBObject的引用)

20.             Session Bean,客户可以共享Home,但不能共享Bean

21.             Entity Bean,客户可以共享Home,而且可以共享Bean

22.             Bean在调用其方法时候才会由EJBObject创建,一般都呆在Bean池里

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ejb bean session jms java 扩展