使用RMI/IIOP

RMI默认使用JRMP,根据需要,你还可以使用iiop。在j2ee中,分布式技术就是用iiop。
以下是过程:
1、server必须继承javax.rmi.PortableRemoteObject
2、绑定server:在iiop中注册服务不使用Registry和Naming,而使用javax.naming.Context, 所以绑定server就是:

                        Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.rmi.registry.RegistryContextFactory");
env.put(Context.PROVIDER_URL, "rmi://localhost:1099");
// Create the initial context
Context ctx = new InitialContext(env);

                       ATSRemoteInterface serv = new ATSManager();
                       ctx.bind(ATSRemoteInterface.ATS_MANGER_NAME, serv);
上述代码还使用rmiregistry作为注册服务器,只是需要从java.sun.com下载相应的访问接口

3、生成stub需要指定使用iiop,ant脚本如下:
<rmic base="build/classes" classname="cn.ac.ia.ats.system.ATSManager" stubversion="1.2" iiop="true" >
<classpath>
<fileset dir="/home/mathews/udig/plugins/net.refractions.udig.libs_1.1.0/lib" includes="*.jar">
</fileset>
</classpath>
</rmic>
4、客户端访问和常规的jndi没有区别。

你可能感兴趣的:(ant,脚本,sun)