超出长度限制了,所以继续发。 
  
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。 
   
 
  |