PortableRemoteObject.narrow方法的目的是CORBA协作,但是CORBA很难使用,所以在EJB中添加了对CORBA的支持,所以在使用home接口以前需要用PortableRemoteObject.narrow方法进行处理。
lookup一个远程的对象时,返回对象的引用(Object)其实并不明确,而不清楚是否是我们所需要的特定的类的对象(EjbHome),所以用narrow方法,将lookup的对象和EjbHome.class作为参数传入,检查是否匹配,再转换成需要的对象类型。
本地lookup一个对象的时候,因为已经在本地JVM注册,所以知道lookup的对象是什么类型的引用,从而直接转型,而不用narrow方法进行检查。
lookup一个远程的对象时,返回对象的引用(Object)其实并不明确,而不清楚是否是我们所需要的特定的类的对象(EjbHome),所以用narrow方法,将lookup的对象和EjbHome.class作为参数传入,检查是否匹配,再转换成需要的对象类型。
本地lookup一个对象的时候,因为已经在本地JVM注册,所以知道lookup的对象是什么类型的引用,从而直接转型,而不用narrow方法进行检查。
本文深入探讨了在EJB环境中使用PortableRemoteObject.narrow方法的必要性和作用,解释了如何通过该方法确保正确处理远程对象引用,并在本地与远程对象交互时避免类型混淆。
6467

被折叠的 条评论
为什么被折叠?



