首页 > 学院 > 开发设计 > 正文

基础教程之——RMI一步一步学习

2019-11-18 12:39:42
字体:
来源:转载
供稿:网友

  RMI,远程方法调用(Remote Method Invocation)是EnterPRise javaBeans的支柱,是建立分布式Java应用程序的方便途径。RMI是非常轻易使用的,但是它非常的强大。
  RMI的基础是接口,RMI构架基于一个重要的原理:定义接口和定义接口的具体实现是分开的。下面我们通过具体的例子,建立一个简单的远程计算服务和使用它的客户程序

  一个正常工作的RMI系统由下面几个部分组成: 

  • 远程服务的接口定义
  • 远程服务接口的具体实现
  • Stub 和 Skeleton 文件
  • 一个运行远程服务的服务器
  • 一个RMI命名服务,它答应客户端去发现这个远程服务
  • 类文件的提供者(一个HTTP或者FTP服务器)
  • 一个需要这个远程服务的客户端程序

      下面我们一步一步建立一个简单的RMI系统。首先在你的机器里建立一个新的文件夹,以便放置我们创建的文件,为了简单起见,我们只使用一个文件夹存放客户端和服务端代码,并且在同一个目录下运行服务端和客户端。

      假如所有的RMI文件都已经设计好了,那么你需要下面的几个步骤去生成你的系统:

      1、  编写并且编译接口的Java代码
      2、  编写并且编译接口实现的Java代码
      3、  从接口实现类中生成 Stub 和 Skeleton 类文件
      4、  编写远程服务的主运行程序
      5、  编写RMI的客户端程序
      6、  安装并且运行RMI系统

      1、接口

      第一步就是建立和编译服务接口的Java代码。这个接口定义了所有的提供远程服务的功能,下面是源程序:

    1. //Calculator.java
    2. //define the interface
    3. import java.rmi.Remote;
    4. public interface Calculator extends Remote
    5. {
    6.     public long add(long a, long b) 
    7.         throws java.rmi.RemoteException
    8.     public long sub(long a, long b) 
    9.         throws java.rmi.RemoteException
    10.     public long mul(long a, long b) 
    11.         throws java.rmi.RemoteException
    12.     public long div(long a, long b) 
    13.         throws java.rmi.RemoteException

      注重,这个接口继续自Remote,每一个定义的方法都必须抛出一个RemoteException异常对象。

      建立这个文件,把它存放在刚才的目录下,并且编译。

      >javac Calculator.java

      2、接口的具体实现

      下一步,我们就要写远程服务的具体实现,这是一个CalculatorImpl类文件:

    1. //CalculatorImpl.java
    2. //Implementation
    3. import java.rmi.server.UnicastRemoteObject;

  • 上一篇:JDBC入门

    下一篇:J2EE数据库设计入门

    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表