JavaRMI10-6北大计算机系java培训讲义.ppt
文本预览下载声明
* * 由于客户端代理stubs要从服务器下载到客户端,因此客户程序也必须装载安全管理器. The value of the first command line argument, args[0], is the name of the remote host on which the Compute object runs. Using the Naming.lookup method, the client looks up the remote object by name in the remote hosts registry. When doing the name lookup, the code creates a URL that specifies the host where the compute server is running. The name passed in the Naming.lookup call has the same URL syntax as the name passed in the Naming.rebind call which was discussed earlier. * * * * * * The -d option tells the rmic compiler to place the generated class files, ComputeEngine_Stub.class and ComputeEngine_Skel.class, in the directory c:\home\ann\src\engine. You also need to make the stubs and the skeletons network accessible, so you must copy the stub and the skeleton class to the area: public_html\classes. * RMI registry是一个简单服务器端的名字服务,可以使远程客户得到一个远程对象的引用 Note that before you start the rmiregistry, you must make sure that the shell or window in which you will run rmiregistry either has no CLASSPATH environment variable set or has a CLASSPATH environment variable that does not include the path to any classes, including the stubs for your remote object implementation classes, that you want downloaded to clients of your remote objects. If you do start the rmiregistry and it can find your stub classes in through CLASSPATH, it will not remember that the loaded stub class can be loaded from your servers codebase (that was specified by the java.rmi.server. codebase property when you started up your server application). As a result, the rmiregistry will not convey to clients the true codebase associated with the stub class, and consequently, your clients will not be able to locate and load the stub class (or other server-side classes). * when you start the compute engine, you need to specify, using the java.rmi.server.codebase property, where the server‘s classes will be made ava
显示全部