`
100Air
  • 浏览: 118825 次
  • 性别: Icon_minigender_1
  • 来自: 海南
社区版块
存档分类
最新评论

学习rmi 感觉很好....

阅读更多

今天上午学习一下:rmi

感觉良好!使用了网上的例子,好象是一个系统以的。很像socket.

public interface Calculator extends Remote {
    public long add(long a, long b) throws java.rmi.RemoteException;
}

public class CalculatorImpl extends UnicastRemoteObject implements Calculator{

    public CalculatorImpl() throws RemoteException{
        super();
    }
   
    public long add(long a, long b) throws RemoteException {
        return a + b;  //To change body of implemented methods use File | Settings | File Templates.
    }

   }

 

public class CalculatorServer {
    public CalculatorServer() {
         try {
           Calculator c = new CalculatorImpl();
           Naming.rebind("rmi://localhost:1098/CalculatorService", c);
         } catch (Exception e) {
           System.out.println("Trouble: " + e);
         }
       }

       public static void main(String args[]) {
         new CalculatorServer();
       }

}

public class CalculatorClient {
    public static void main(String[] args) {
            try {
                Calculator c = (Calculator)
                Naming.lookup("rmi://localhost:1098/CalculatorService");
                System.out.println( c.add(4, 5) );
            }
            catch (MalformedURLException murle) {
                System.out.println();
                System.out.println(
                  "MalformedURLException");
                System.out.println(murle);
            }
            catch (RemoteException re) {
                System.out.println();
                System.out.println(
                            "RemoteException");
                System.out.println(re);
            }
            catch (NotBoundException nbe) {
                System.out.println();
                System.out.println(
                           "NotBoundException");
                System.out.println(nbe);
            }
            catch (
                java.lang.ArithmeticException
                                          ae) {
                System.out.println();
                System.out.println(
                 "java.lang.ArithmeticException");
                System.out.println(ae);
            }
        }

}

 

编译以上类。再用>rmic CalculatorImpl

然后在doc下运行:

>rmi RMI端口   // (no 1 cmd)

>rmi  CalculatorServer     //启动rmi服务  (no 2 cmd)

>rmi CalculatorClient      //执行客户端 (no 3 cmd)

 

详细解决见: http://java.chinaitlab.com/rcj/39660.html

 

分享到:
评论

相关推荐

    RMI.rar_Java RMI_java.rmi_java.rmi.Remot_remote

    远程接口定义了可以在远程对象上执行的操作,它继承了`java.rmi.Remote`接口。这个接口不包含任何方法,但它是所有远程接口的基类,用来标记这些接口为远程可调用。远程对象是实现了远程接口的具体类,它实现了接口...

    java_rmi.rar_RMI java_java.rmi

    2. **实现远程接口**:然后,创建一个实现远程接口的类,该类通常需要继承自`java.rmi.Remote`接口,并且抛出`java.rmi.RemoteException`。在这个实现类中,你需要实现远程接口中的所有方法。 3. **创建并注册远程...

    RMI远程调用DEMO....

    这些接口必须继承自java.rmi.Remote接口,这样Java编译器才能识别它们为远程方法。 2. 远程实现(Remote Implementation):实现了远程接口的具体类,这个类包含了远程方法的实现。通过实现远程接口,一个对象就...

    Synaptics_RMI3_Specification.zip_RMI3_Synaptics_rmi4_s3508 _spec

    《Synaptics RMI3 触摸芯片编程详解——基于S3508》 ...通过深入学习“Synaptics_RMI3_Specification.pdf”,开发者不仅可以掌握S3508的硬件特性和操作方法,还能了解到RMI3协议的精髓,从而在项目开发中得心应手。

    基于HTTP隧道的Java RMI设计与实现.pdf

    基于HTTP隧道的Java RMI设计与实现.pdf

    RMI2-Product.rar_rmi

    1. **远程接口(Remote Interface)**:这是定义远程方法的接口,它必须继承自java.rmi.Remote接口。每个方法都可能抛出RemoteException,表示网络通信可能出现的问题。 2. **远程对象(Remote Object)**:实现了...

    RMI商品管理系统.zip

    总结来说,“RMI商品管理系统”是学习和实践Java RMI的一个理想起点。它展示了如何通过RMI实现分布式应用,如何设计远程接口和实现,以及如何在无数据库的情况下处理数据。对于想要深入理解Java RMI以及分布式系统...

    通过RMI实现远程调用.rar_RMI java

    1. **创建远程接口**:首先,你需要定义一个Java接口,标记为`java.rmi.Remote`的子类,比如`MyRemoteInterface.java`。这个接口声明了所有远程方法。 ```java public interface MyRemoteInterface extends Remote ...

    rmi.rar_Java RMI_RMI java_RMI policy.all_rmi

    6. **部署和运行**:使用RMI时,需要将远程对象导出(`java.rmi.Naming.rebind()`),然后客户端可以通过`java.rmi.Naming.lookup()`查找并调用远程对象。在实际应用中,还需要配置JVM的RMI端口和其他网络参数。 在...

    数学方法论RMI方法学习教案.pptx

    《数学方法论RMI方法学习教案》探讨了数学中一种重要的问题解决策略——关系映射反演(Relational Mapping Inversion,简称RMI)方法。RMI方法是数学方法论中的核心概念,它强调通过将复杂问题转化为同构的简单问题...

    J2SE.RMI.IIOP.application.design.code.rar_code rmi_rmi iiop

    3. **导出远程对象**:使用`java.rmi.Naming.bind()`方法将远程对象注册到RMI注册表。 4. **创建存根和Skeleton**:对于RMI-IIOP,需要使用`rmic -iiop`命令生成IIOP兼容的存根和Skeleton。 5. **客户端调用**:...

    JAVA中最简单的分布式调用RMI共12页.pdf.zip

    这个接口必须继承自java.rmi.Remote接口。 - **远程实现(Remote Implementation)**:实现了远程接口的具体类,包含了远程方法的实现。 - **注册表(Registry)**:类似于服务目录,用于存储远程对象的引用,使得...

    使用RMI远程连接JVM.用JMX获取JVM的参数

    在Java世界中,远程方法调用(Remote Method Invocation, RMI)和Java管理扩展(Java Management Extensions, JMX)是两个强大的工具,用于管理和监控分布式系统。本文将深入探讨如何利用RMI远程连接到Java虚拟机...

    分布式实验报告RMI.docx

    分布式实验报告 RMI.docx 本实验报告主要介绍了 Java RMI(Remote Method Invocation,远程方法调用)的基本概念和实现步骤。RMI 是一种分布式对象通讯机制,允许运行在一个 Java 虚拟机的对象调用运行在另一个 ...

    RMI 远程方法调用.zip

    - 客户端需要设置Java系统属性`java.rmi.server主机名`以指定服务器地址,或者在Registry中查找远程对象。 4. **安全性**: - RMI支持SSL/TLS加密,以保护通信安全。 - 可以通过安全管理器控制远程调用的权限。 ...

    DuBBo(rmi+Hessian).zip

    本压缩包“DuBBo(rmi+Hessian).zip”提供了关于Dubbo如何与RMI(Remote Method Invocation)和Hessian两种通信协议结合使用的深入学习资料。下面我们将详细探讨这两个知识点。 首先,RPC(Remote Procedure Call)...

    长沙蓝杰实训java课件之 RMI技术解析(www.NetJava.cn)

    做为java分布式计算的基础框架的RMI体系,是javaEE结构的基础技术. 本课件全面讲解了RMI的一般实现,特殊问题解决及与sping的组合应用. 1.分布式计算的起因及基本原理 2.RMI体系结构 3.RMI服务器实现及编码 4.RMI...

    JAVA_RMI_实例.pdf

    首先,我们需要定义一个远程接口 `HelloInterface`,它继承自 `java.rmi.Remote`。这个接口声明了需要被远程调用的方法,例如 `say()` 方法。远程接口的方法必须抛出 `RemoteException`,这是所有 RMI 相关异常的根...

    JAVA-RMI使用快速入门.doc

    【JAVA-RMI使用快速入门】 Java RMI(Remote Method Invocation,远程方法调用)是Java平台中用于构建分布式应用程序的一种核心技术。它允许Java对象在不同的Java虚拟机(JVM)之间进行交互,实现了"Write Once, ...

    Java-远程方法调用RMI参数详解.docx

    1. sun.rmi.dgc.checkInterval 这个参数定义了Java RMI运行时检查过期DGC(分布式垃圾收集)租约的时间间隔,单位是毫秒。默认值是`java.rmi.dgc.leaseValue`的一半。调整此参数可以平衡内存管理和网络通信。如果值...

Global site tag (gtag.js) - Google Analytics