RMI 是java语言的一个RPC框架,本文给出基础例子如下:

1、实现接口:

public interface ICalc extends Remote {
public int add(int param1, int param2) throws java.rmi.RemoteException;
}

2、服务端实现该接口:

public class CalcImpl extends UnicastRemoteObject implements ICalc {

    protected CalcImpl() throws RemoteException {
super();
} @Override
public int add(int param1, int param2) {
return param1 + param2;
} public static void main(String[] args) {
ICalc calc;
try {
//下述代码主要解决connect confused问题
System.setProperty("java.rmi.server.hostname", "192.168.0.16");
calc = new CalcImpl();
LocateRegistry.createRegistry(1011);
java.rmi.Naming.rebind("rmi://192.168.0.16:1011/calc", calc);
} catch (RemoteException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}

3、定义测试客户端:

public class Client {

    public static void main(String[] args) {
ICalc calc;
try {
calc = (ICalc) Naming.lookup("rmi://192.168.0.16:1011/calc");
System.out.println(calc.add(2,3));
} catch (MalformedURLException | RemoteException | NotBoundException e) {
e.printStackTrace();
}
}
}

4、测试执行顺序:

1、服务器端编译javac CalcImpl

2、生成桩文件rmic CalcImpl,目录下会新增CalcImpl_Stub;

3、执行rmiregister,注册该程序;

4、在新窗口启动服务 java CalcImpl;

5、将CalcImpl_Stub拷贝至客户端,执行java Client;此时客户端打印预算结果

JAVA RMI例子的更多相关文章

  1. Java RMI简单例子HelloWorld

    Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方 ...

  2. Java RMI 介绍和例子以及Spring对RMI支持的实际应用实例

    RMI 相关知识 RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体现在它强大的开发分布式网络应用的能力上,是纯Java的网 ...

  3. Java RMI 使用例子

    1.创建协议接口(UserService) /** * */ package com.junge.demo.rmi.protocol.service; import java.io.Serializa ...

  4. Java RMI之HelloWorld篇

    Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方 ...

  5. java.rmi.NoSuchObjectException: no such object in table

    jmx链接的时候,最简单的例子都行不通,郁闷,出现了: 参考:http://reiz6153.blog.163.com/blog/static/401089152009442723208/ 代码: M ...

  6. Java学习笔记(十六)——Java RMI

    [前面的话] 最近过的好舒服,每天过的感觉很充实,一些生活和工作的技巧注意了就会发现,其实生活也是可以过的如此的有滋有味,满足现在的状况,并且感觉很幸福. 学习java RMI的原因是最近在使用dub ...

  7. JAVA RMI helloworld入门

    Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方 ...

  8. Java RMI 远程方法调用

    Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方 ...

  9. java rmi 小记

    最近在搞Quartz任务监控管理,碰到了jmx,后来发现Quartz对jmx的支持不是很好,介绍的文档也比较少,另外Quartz可以很方便的支持rmi于是就看了一下rmi.下面把写的一些测试小例子附上 ...

随机推荐

  1. ff

    public class MyListenerProcessor implements BeanPostProcessor { @Override public Object postProcessB ...

  2. Robot Framework入门学习2 创建第一个测试用例

    本文章部分内容引自以下网址,感谢作者的辛苦分享 http://www.cnblogs.com/fnng/p/3871712.html http://blog.csdn.net/tulituqi/art ...

  3. 学习总结relative和absolute

    之前对于absolute和relative不了解,现在整理 先设置relative再设置absolute 因为父不设置relative 那么子会向上寻找祖先元素,看是否设置relative.如果有则相 ...

  4. 快快快!27个提升效率的iOS开源库推荐

    文章来源:http://www.csdn.net/article/2015-07-21/2825264-27-ios-open-source-libraries/1 我热爱开源,更喜爱那些花费宝贵的业 ...

  5. zend studio常用快捷键

    1.提示符助手快捷键 alt+/ 你可以自定义 window->keys->Content assist->Binding 2.复制当前行 alt+ctrl+下 3.删除 ctrl+ ...

  6. 【环境配置】php5.5 + apache2.4 安装配置【转+修改】

    转自 http://my.oschina.net/lilinzero/blog/180509 [转+修改][环境配置]php5.5.10 + apache2.4 安装配置 根据自己的实践所得,稍微修改 ...

  7. WIN7系统中设置默认登录用户

    新建账户,如果不删除之前的账户,会每次登录都要选择一个账户登录系统,非常麻烦,而且之前的administrator账户不能删除. 单机开始菜单,选择运行,键入“control userpassword ...

  8. 轮播神器swiper插件

    Swiper中文网:http://www.swiper.com.cn/ Swiper- 是免费的,最现代化的移动触摸滑块硬件加速的转换和惊人的天然行为.它的目的是在移动网站,移动网络应用和移动本地/混 ...

  9. Linux 如何使用压缩与解压缩的方式将Windows下的zip压缩包上传到Linux系统

    当我们无法使用xftp方式上传文件到Linux系统时,我们可以使用在Windows下压缩文件夹,然后到Linux系统下解压缩的方式,完成整个上传工作. 第一步:在Windows系统下,将整个文件夹压缩 ...

  10. mac系统 下 npm 安装 bower报错

    在mac终端运行 sudo npm install -g bower (安装之前你要确定你已经成功安装了node 和 git) 然后会报错 like this: npm ERR! Darwin 15. ...