RMI简单实现

在学习EJB的时候,了解了RMI,EJB白话:把你编写的软件中那些需要执行制定的任务的类,不放到客户端软件上了,而是打包放到一个服务器上。

下面这位博主关于EJB是什么写的很详细。

https://www.cnblogs.com/strugglion/p/6027318.html

本篇重点是简单实现RMI。

RMI简单实现:

1 创建远程接口,继承Remote接口;

远程接口中声明了可以被客户端访问的远程方法,远程接口应符合以下条件:

(1)直接或间接继承java.rmi.Remote接口;

(2)接口中的所有方法声明抛出java.rmi.RemoteException异常或父异常。

2 创建远程类,实现远程接口;

远程类应符合以下条件:

(1)继承java.rmi.server.UnicastRemoteObject类并实现远程接口;

(2)构造器必须抛出java.rmi.RemoteException异常。

3 创建服务器程序

方法介绍

  • bind(String name, Object obj): 注册对象,把对象与服务名绑定。如果该服务名已与其他对象绑定,则会抛出NameAlreadyBoundException异常。
  • rebind(String name, Object obj): 注册对象,把对象与服务名绑定。如果该服务名已与其他对象绑定,不会抛异常,而是将新的对象绑定到该服务名上。

lookup(String name) 查找对象,返回与指定名称相同的对象

4 创建客户端程序

客户端根据服务名查找远程对象,然后调用远程方法。

package com.h3c;
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
public class HelloClient {
    public static void main(String args[])throws MalformedURLException,RemoteException,NotBoundException{
        //find  register object
        Hello hello =  (Hello) Naming.lookup("rmi://localhost:8888/Hello");
        //output the client result
        System.out.println("client:");
        System.out.println(hello.sayHello());

    }

}

5 先启动HelloServer,然后启动HelloClient

原文地址:https://www.cnblogs.com/joan-HTY/p/9337655.html

时间: 2024-09-14 21:19:03

RMI简单实现的相关文章

rmi简单案例

RMI即远程方法调用,案例步骤 创建对外接口 继承Remote类 创建其实现类 实现类需继承UnicastRemoteObject类并实现其接口 服务端:注册服务端口,并通过rmi链接进行绑定 1)创建接口对象 2)通过LocalRegistry.createRegisty(port);注册端口服务 3)通过Naming.bing("rmi连接字符串",接口对象); 客户端:查找服务并执行 Naming.lookup("rmi连接串")返回其相应的接口对象; pub

rmi简单用例,简单有效

Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方法调用的任何对象必须实现该远程接口.使用spring对RMI的支持,可以非常容易地构建分布式应用.这种C/S模型的访问方式,可以屏蔽掉RMI本身的复杂性,如服务端Skeleton和客户端Stub等的处理细节,这些对于服务开发和服务使用的人员来说,都是透明的,无需过度关注,而集中精力开发你的商业逻辑.

rmi简单应用

做完实验,来个小结. [实验原理和步骤]1. 定义学生成绩查询或教师信息查询的远程接口2. 实现服务器端软件(程序):设计远程接口的实现类和服务器对象类,在服务器上启动目录服务,并注册远程对象,供客户端访问.远程接口的实现类要从本地读取数据信息(成绩或教师信息),数据信息可以存储在文件或数据库中.3. 实现客户端软件(程序):实现访问远程对象的客户程序. [方案设计]1)编写 RMI 中的接口 public interface GetScoreInterface extends Remote;2

java RMI入门指南

感觉这篇文章不错,直接转了 RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体如今它强大的开发分布式网络应用的能力上,是纯Java的网络分布式应用系统的核心解决方式之中的一个.事实上它能够被看作是RPC的Java版本号.可是传统RPC并不能非常好地应用于分布式对象系统.而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信.实现远程对象之间的无缝远程调用. RMI眼下使用Java远程消息交换协议JRMP

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

RMI 相关知识 RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体现在它强大的开发分布式网络应用的能力上,是纯Java的网络分布式应用系统的核心解决方案之一.其实它可以被看作是RPC的Java版本.但是传统RPC并不能很好地应用于分布式对象系统.而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用. RMI目前使用Java远程消息交换协议JRMP(Java Remot

JAVA RMI远程方法调用简单实例[转]

RMI的概念 RMI(Remote Method Invocation)远程方法调用是一种计算机之间利用远程对象互相调用实现双方通讯的一种通讯机制.使用这种机制,某一台计算机上的对象可以调用另外 一台计算机上的对象来获取远程数据.RMI是Enterprise JavaBeans的支柱,是建立分布式Java应用程序的方便途径.在过去,TCP/IP套接字通讯是远程通讯的主要手段,但此开发方式没有使用面向对 象的方式实现开发,在开发一个如此的通讯机制时往往令程序员感觉到乏味,对此RPC(Remote

rmi经典实例---远程调用简单实现方式

Java RMI之HelloWorld篇 Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方法调用的任何对象必须实现该远程接口. Java RMI不是什么新技术(在Java1.1的时代都有了),但却是是非常重要的底层技术. 大名鼎鼎的EJB都是建立在rmi基础之上的,现在还有一些开源的远程调用组件,其底层技术也是rmi. 在大力鼓吹Web Serv

RPC、RMI、SOAP、WebService、Corba、COM等协议简单说明

近来系统学习了一下java分布式对象计算技术,这里做一个简单的总结: 一.RPC协议 1.JSON-RPC规范:http://json-rpc.org/wiki/specification 2.XML-RPC规范:http://www.xmlrpc.com/spec RPC协议支持xml和json两种格式的消息,使用http作为其传输协议. 参考:http://kingquake21.iteye.com/blog/1033471 二.RMI协议 RMI使用JRMP作为消息,从上图可以看出,RMI

java rmi的一个简单实例

参考网站  http://www.cnblogs.com/leslies2/archive/2011/05/20/2051844.html 实体类PersonEntity package net.cs30.rmi; import java.io.Serializable; /** * Created by caochenghua on 2017/4/4. */ public class PersonEntity implements Serializable { private int id;