`

rmi入门实例

 
阅读更多

1.定义业务接口

package cn.rmi;

import java.rmi.Remote;
import java.rmi.RemoteException;

/**远程业务接口*/
public interface Business extends Remote{

	public String echo(String message) throws RemoteException;
}

 

 

2.实现业务并配置

package cn.rmi;

import java.rmi.AlreadyBoundException;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;

public class BusinessImpl implements Business{

	
	public String echo(String message) throws RemoteException {
		if("quit".equalsIgnoreCase(message)){
			System.out.println("远程调用结束!!");
			System.exit(0);
		}
		System.out.println("client :"+message);
		return "remote server response:"+message;
	}
	
	public static void main(String[] args) throws RemoteException, AlreadyBoundException {
		int port=9527;
		Business business=new BusinessImpl();
		UnicastRemoteObject.exportObject(business, port);
		
		Registry registry=LocateRegistry.createRegistry(1099);
		registry.bind("businessdemo", business);
	}

}

 

 

3.客户端远程调用

package cn.rmi;

import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

public class RmiClient {
	public static void main(String[] args) throws RemoteException, NotBoundException {
		Registry registry=LocateRegistry.getRegistry("localhost");
		Business business=(Business) registry.lookup("businessdemo");
		String message=business.echo("hello!");
		System.out.println(message);
	}

}

 

分享到:
评论

相关推荐

    RMI 零基础入门与实例

    **零基础入门RMI:** 1. **理解基本概念:** - **远程对象(Remote Object)**:这是在远程主机上运行的Java对象,可以通过网络被其他客户端访问。 - **接口(Interface)**:定义远程对象的方法,这个接口需要...

    RMI入门(二)实例 --- 亲自将代码调试成功

    在本文中,我们将深入探讨Java Remote Method Invocation (RMI)技术,通过一个具体的实例来学习如何设置、构建和调试RMI应用。RMI是Java提供的一种远程对象调用机制,它允许Java对象在不同的JVM之间进行通信。在这个...

    java RMI入门例子

    这个"java RMI入门例子"将带你深入理解RMI的工作原理和主要组件。 RMI的核心概念包括: 1. **远程接口**:这是定义远程方法的接口,通常继承自java.rmi.Remote。这些方法声明抛出java.rmi.RemoteException,表示...

    rmi入门(带源码)

    这个“rmi入门(带源码)”的资源可能是一个教学资料或实践项目,帮助初学者理解和应用RMI技术。 首先,我们来详细了解一下RMI的基本概念: 1. **远程接口(Remote Interface)**:这是定义远程方法的接口。它继承了...

    RMI入门小结

    **RMI(Remote Method Invocation)入门小结** 远程方法调用(RMI)是Java平台上的一个关键特性,它允许Java对象在不同的JVM(Java虚拟机)之间进行交互,从而实现分布式计算。RMI是Java开发分布式应用程序的基础,...

    RMI 入门学习资料

    3. **服务器端**:在服务器端启动服务,实例化远程对象并将其注册到RMI注册表。 4. **客户端**:客户端通过RMI注册表获取远程对象的引用,然后就可以像调用本地对象一样调用远程对象的方法。 RMI的优势在于: - **...

    rmi入门

    【标题】:“RMI入门” 远程方法调用(Remote Method Invocation,简称RMI)是Java平台提供的一种用于在分布式环境中实现对象间通信的技术。RMI允许一个Java对象调用网络另一端的Java对象的方法,就像调用本地对象...

    JavaRMI快速入门

    2. **远程对象**:远程对象是实现了远程接口的实例,它可以驻留在网络中的任何地方。Java RMI允许这些对象的引用在不同进程中传递,使得客户端可以调用远程对象的方法。 3. **注册表(Registry)**:RMI注册表是一...

    RMI教程-入门经典

    远程对象(Remote Object)是实现了远程接口的实例,驻留在服务器端,客户端通过引用远程接口来与服务器交互。 2. **注册表(Registry)**:RMI系统中的注册表是一个服务,用于存储远程对象的引用。客户端可以通过...

    CORBA与RMI的比较 及 实例

    标题 "CORBA与RMI的比较及实例" 涉及到的是两种分布式计算技术——Common Object Request Broker Architecture (CORBA) 和 Remote Method Invocation (RMI) 的对比以及实际应用的示例。这两种技术都是为了让运行在...

    网络编程入门rmi初级教程

    远程对象的实例化和生命周期管理是RMI系统的一部分。 3. **注册表**:在RMI中,一个叫做RMIServer的注册表服务负责管理和查找远程对象。客户端通过注册表获取远程对象的引用,从而进行通信。 4. **stubs/skeletons...

    java rmi demo

    java rmi入门级实例:分为三个javase项目,rmi-api(存放公共的接口和实体),rmi-server(rmi服务器端),rmi-client(rmi客户端),其中服务端和客户端都依赖rmi-api项目

    Hessian学习入门实例

    这是一个Hessian入门学习的实例,程序包是一个web工程,使用intellij idea + Maven开发,其中通过两个方式展示了使用Hessian实现RMI的原理,一个是访问jsp页面,一个是在代码中手工创建client。对于Hessian Servlet...

    dubbo+zookeeper入门实例

    【标题】"dubbo+zookeeper入门实例"是一个关于使用Dubbo框架与Zookeeper结合实现服务发现和服务调用的基础教程。Dubbo是阿里巴巴开源的一款高性能、轻量级的Java分布式服务框架,而Zookeeper则是一个分布式服务协调...

    JAVA-RMI使用快速入门.doc

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

    Ice 经典入门和实例

    总的来说,"Ice经典入门和实例"是一套完整的学习资料,涵盖了Ice的基本概念、核心功能、高级特性和实战应用,对于想要掌握这个分布式对象中间件的开发者来说,是非常宝贵的资源。通过深入学习和实践,你将能熟练地...

    dubbo入门实例

    【Dubbo入门实例详解】 Dubbo,作为阿里巴巴开源的一款高性能、轻量级的服务框架,它致力于提供一个简单、高效、可扩展的分布式服务解决方案。在本入门实例中,我们将通过两个核心组件——`dubboserver`(服务提供...

Global site tag (gtag.js) - Google Analytics