1、spring_RMI01_server服务端

 package com.wisezone.service;

 import java.rmi.Remote;
import java.rmi.RemoteException; public interface IHelloService extends Remote { public String sayHello(String msg) throws RemoteException;
}
 package com.wisezone.service.impl;

 import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject; import com.wisezone.service.IHelloService; public class HelloServiceImpl extends UnicastRemoteObject implements IHelloService{ /**
*
*/
private static final long serialVersionUID = -4174742054186163053L; public HelloServiceImpl() throws RemoteException { } @Override
public String sayHello(String msg) throws RemoteException { System.out.println("服务端接受消息:"+msg);
return "hello,"+msg;
} }
 package com.wisezone.test;

 import java.net.MalformedURLException;
import java.rmi.AlreadyBoundException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry; import com.wisezone.service.impl.HelloServiceImpl; /**
* 发布顺序:先发布服务端,再发布客户端
* @author 王东海
* @2017年5月1日
*/
public class Publish { public static void main(String[] args) throws RemoteException, MalformedURLException, AlreadyBoundException { //设置端口
LocateRegistry.createRegistry(8888);
Naming.bind("rmi://127.0.0.1:8888/hello", new HelloServiceImpl());
System.out.println("发布成功。。。");
}
}

2、spring_RMI01_client客户端

 package com.wisezone.service;

 import java.rmi.Remote;
import java.rmi.RemoteException; public interface IHelloService extends Remote { public String sayHello(String msg) throws RemoteException;
}
 package com.wisezone.test;

 import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException; import com.wisezone.service.IHelloService; public class Test { public static void main(String[] args) throws MalformedURLException, RemoteException, NotBoundException {
IHelloService helloService = (IHelloService) Naming.lookup("rmi://127.0.0.1:8888/hello");
System.out.println("客户端接受消息:"+helloService.sayHello("This is 5月1号劳动节"));
}
}

发布顺序:先发布服务端,再发布客户端

结果:

普通方法实现——远程方法调用RMI代码演示的更多相关文章

  1. Spring框架实现——远程方法调用RMI代码演示

    1.spring_RMI02_server服务端02 <?xml version="1.0" encoding="UTF-8"?> <bean ...

  2. 远程服务调用RMI框架 演示,和底层原理解析

    远程服务调用RMI框架: 是纯java写的, 只支持java服务之间的远程调用,很简单, // 接口要继承 Remote接口 public interface IHelloService extend ...

  3. Java RMI 远程方法调用

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

  4. SpringBoot里使用RMI进行远程方法调用

    一.Java RMI定义 Java RMI:Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程 ...

  5. RMI远程方法调用

    RMI远程方法调用:适用于 客户端 调用 服务器 内的方法:(Kotlin 语言编写) 如果业务为二个服务器之间的通信,还是得用消息队列的形式,因为RMI 不适合 双向 调用 下面介绍RMI 的使用方 ...

  6. Java APi 之 RMI远程方法调用

    一.什么是RPC RPC全称是remote procedure call,即远程过程调用.它是一种协议,用于从远程计算机上请求服务. 例如有两台服务器A和B,A上的应用想要调用B上应用的方法,但是他们 ...

  7. Java RMI远程方法调用

    RMI(远程接口调用) 1. RMI的原理: RMI系统结构,在客户端和服务器端都有几层结构. 方法调用从客户对象经占位程序(Stub).远程引用层(Remote Reference Layer)和传 ...

  8. 简单实现Java的RMI——远程方法调用

    一.RMI简介: 说到RMI就不得不说RPC了. RPC:(Remote Procedure Call),远程过程调用. RMI(Remote Method Invocation),远程方法调用. R ...

  9. 【Java Web开发学习】远程方法调用RMI

    Java RMI 远程方法调用Remote Method Invocation 转载:http://www.cnblogs.com/yangchongxing/p/9078061.html 1.创建远 ...

随机推荐

  1. NetCDF 介绍

    NetCDF 1 NetCDF 1.1概述(Overview) NetCDF (network Common Data Form) is a set of software libraries and ...

  2. Linux:文件

    Linux:文件 文件属性 用户分为三种:文件拥有者.群组以及其它人,对不同的用户有不同的文件权限. 使用 ls 查看一个文件时,会显示一个文件的信息,例如 drwxr-xr-x. 3 root ro ...

  3. hadoop linux 杂记

    切换到root        su    修改sudo sudo + 命令 --> root权限 + 命令        su root        vim /etc/sudoers      ...

  4. ⭐内核MKDEV(MAJOR, MINOR)宏

    版本:linux-2.6.24.4宏:    MKDEV(MAJOR, MINOR);  说明: 获取设备在设备表中的位置.        MAJOR   主设备号        MINOR   次设 ...

  5. Android电容屏(二):驱动调试分析【转】

    本文转载自:http://blog.csdn.net/xubin341719/article/details/7833383 以goodix的gt8105为例 一.总体架构 硬件部分:先看一个总体的图 ...

  6. java.net.UnknownHostException异常处理

    1.问题描述 最近迁移环境,在Linux系统下部署Java产品的应用,后台报出如下异常,系统报找不到名为“xxx-houtai1”的主机: 1 java.net.UnknownHostExceptio ...

  7. nodejs mysql 创建连接池

    用Nodejs连接MySQL 从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javas ...

  8. Spring初学之annotation实现AOP前置通知和后置通知

    实现两个整数的加减乘除,并在每个计算前后打印出日志. ArithmeticCalculator.java: package spring.aop.impl; public interface Arit ...

  9. MySql 创建/删除数据库

    C:\Users\Mr.Black>mysql -u root -pEnter password: ****Welcome to the MySQL monitor.  Commands end ...

  10. Enum Binding ItemsSource In WPF

    Enum Binding ItemsSource In WPF   在WPF中枚举绑定到ItemsSource. 一.通过ObjectDataProvider 获取Enum数据源 首先我们定义一个En ...