远程调用机制(Java RMI).docVIP

  • 1
  • 0
  • 约5.42千字
  • 约 5页
  • 2017-07-31 发布于河南
  • 举报
远程调用机制(Java RMI)

JAVA远程调用方法实现 Java远程方法调用(Java Remote Method Invocation,简称RMI)是实现RPC的一种机制。Java RMI实现过程可分为以下几个步骤: 创建远程接口及声明远程方法; 创建远程对象及实现远程方法; 服务器端启动RMI注册服务,注册远程对象; 客户端查找远程对象并调用远程方法。其代码如下: 创建远程接口及声明远程方法 package com.cd.rmiDemo; import java.rmi.Remote; import java.rmi.RemoteException; /** * 1. 创建远程接口及声明远程方法 * @author ChengDong */ public interface HelloInterface extends Remote { /** * 任何远程对象都必须直接或间接实现Remote接口,扩展该接口的方法才能被远程对象调用 */ public String helloword() throws RemoteException; public String sayHelloToSomeBody() throws RemoteException; } 创建远程对象及实现远程方法 package com.cd.rmiDemo; import java.rmi.RemoteException; import java.rmi.server.UnicastRemoteObject; /** * 2. 定义远程对象 * 远程对象扩展UnicastRemoteObject实现类,实现远程方法,通过构造函数抛出RemoteException * @author ChengDong */ public class Hello extends UnicastRemoteObject implements HelloInterface{ private String message; /** * 必须构造函数,因为它必须抛出异常RemoteException * @param message * @throws RemoteException */ public Hello(String message) throws RemoteException { this.message = message ; } /** * 远程接口方法实现 */ public String helloword() throws RemoteException { return Hello World!; } public String sayHelloToSomeBody() throws RemoteException { return 您好, + message + !; } } 服务器端启动RMI注册服务,将远程对象进行注册 package com.cd.rmiDemo; import java.rmi.Naming; import java.rmi.registry.LocateRegistry; /** * 服务端程序 * 3. 启动RMI注册服务,并注册远程对象:远程服务器的端口、IP地址和远程对象 * @author ChengDong */ public class HelloServer { public static void main(String[] args) { try { //1. 启动RMI注册服务,指定端口为1099(1099为默认端口) //也可以通过命令$java_home/bin/rmiregistry 1099启动 //这里用这种方式避免了再打开一个DOS窗口 //而且用命令rmiregistry启动注册服务还必须事先用RMIC生成一个stub类为它所用 LocateRegistry.createRegistry(1099); //2. 创建远程对象的一个或多个实例,下面是hello对象, 可以用不同名字注册不同的实例 HelloInterface hello = new Hello(程冬); //3. 将远程对象注册到RMI注册服务器上,命名为Hello Naming.rebind(Hello, hello); //如果要把hello实例注册到另一台启动了RMI注册服务的机器上 ,其中IP地址和端口号1099为注册服 //务器的IP和端口号 // Naming.rebind(//06: 1099/He

文档评论(0)

1亿VIP精品文档

相关文档