超出长度限制了,所以继续发。
3. RMI-IIOP与JNDI集成:
l RMI-IIOP主要想使用JNDI来做两件事情:
n RMI-IIOP server使用JNDI API将自己发布到一个JNDI树上;例如:
Generator o = new Generator (); //这是一个远程对象
javax.naming.Context ctx= new javax.naming.InitialContext(System.getProperties());
ctx.rebind(“obj”, o);
Synchronized (o) {
o.wait();
}
首先初始化一个远程对象Generator,然后得到Initial context,绑定远程对象到JNDI树上,最后等待客户端调用。
n 客户通过JNDI来查找RMI-IIOP 对象,例如:
javax.naming.Context ctx= new javax.naming.InitialContext(System.getProperties());
Object remoteObj = ctx.lookup(“obj”);
Generator g = (Generator)javax.naming.PortableRemoteObject.narrow(remoteObj, Generator.class);
这里用到了一个RMI-IIOP对象PortableRemoteObject的静态方法——narrow()。这个方法的作用是在JNDI树上查找远程对象时将对象强制装换为远程对象的。为什么不用常用的强制转换方法呢?简短的答案是:为了兼容CORBA。
本文介绍了RMI-IIOP与JNDI集成的相关内容。RMI-IIOP server使用JNDI API将自己发布到JNDI树上,先初始化远程对象,再绑定到JNDI树并等待客户端调用;客户则通过JNDI查找RMI-IIOP对象,查找时使用PortableRemoteObject的narrow()方法强制转换对象以兼容CORBA。

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



