`

Java RMI 远程方法调用

    博客分类:
  • java
 
阅读更多
1.定义接口
package com.demo.rmi.dao.impl;

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

public interface RemoteDao extends Remote {

	public String say()throws RemoteException;
}

2.实现接口
package com.demo.rmi.dao.impl;

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

public class RemoteDaoImpl extends UnicastRemoteObject implements
		RemoteDao {

	public RemoteDaoImpl() throws RemoteException {
		super();
		// TODO Auto-generated constructor stub
	}
	@Override
	public String say() throws RemoteException {
		// TODO Auto-generated method stub
		
		return "[来自服务器的问候]:你好! 很高心见到你!";
	}
}

3.服务器端
package com.demo.rmi.server;

import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;

import com.demo.rmi.dao.impl.RemoteDaoImpl;
import com.demo.rmi.dao.impl.RemoteDao;

public class TestServer {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			LocateRegistry.createRegistry(1099);
			RemoteDao server=new RemoteDaoImpl();
			try {
				Naming.rebind("//127.0.0.1:1099/SAMPLE-SERVER", server);
				System.out.println("[服务已启动]");
			} catch (MalformedURLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (RemoteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

4.客户端
package com.demo.rmi.client;

import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;

import com.demo.rmi.dao.impl.RemoteDaoImpl;
import com.demo.rmi.dao.impl.RemoteDao;

public class TestClient {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			try {
				RemoteDao server=(RemoteDao)Naming.lookup
						("//127.0.0.1:1099/SAMPLE-SERVER");
				System.out.println(server.say());
			} catch (MalformedURLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (NotBoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (RemoteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
1
1
分享到:
评论
1 楼 xici_magic 2011-12-05  
要是能对RMI的原理进行一番讲解就好啦

相关推荐

    java rmi远程方法调用 客户端

    Java RMI(Remote Method Invocation,远程方法调用)是Java平台提供的一种分布式计算技术,它允许在不同的Java虚拟机之间透明地调用对象的方法。在RMI架构中,客户端能够像调用本地对象一样调用远程服务器上的对象...

    Java RMI远程方法调用详解-例子代码

    首先,我们需要定义一个实现了`java.rmi.Remote`接口的类,比如`MyRemoteInterface.java`,并在这个接口中声明所有需要远程调用的方法。这些方法必须抛出`java.rmi.RemoteException`,因为网络通信可能会出现异常。...

    Java RMI远程方法调用

    Java RMI(Remote Method Invocation,远程方法调用)是Java平台提供的一种分布式计算技术,它允许Java对象在不同的网络环境中进行交互,就像调用本地方法一样。RMI系统的核心概念是客户端可以调用服务器端的对象上...

    java rmi 远程方法调用 服务端

    1. 远程接口(Remote Interface):定义了可以被远程调用的方法,这些方法必须声明抛出`java.rmi.RemoteException`。接口需要使用`@Remote`注解标记。 2. 远程实现类(Remote Implementation):实现了远程接口,并...

    JAVARMI远程方法调用简单实例.docx

    远程接口中的方法声明会抛出`RemoteException`,表明这些方法是可以被远程调用的。 2. **远程对象(Remote Object)**:实现了远程接口的类,通常需要继承`java.rmi.UnicastRemoteObject`。这个类负责具体实现远程...

    Java RMI(远程方法调用)Demo

    1. **创建远程接口**:定义一个继承自Remote的接口,声明需要远程调用的方法。 2. **实现远程接口**:编写一个类实现这个接口,提供具体的方法实现。 3. **注册远程对象**:在服务器端创建远程对象实例,然后将其...

    RMI远程方法调用RMI远程方法调用

    RMI远程方法调用是Java平台上的一个关键特性,它允许Java对象在不同的JVM之间进行通信,从而实现分布式计算。RMI的核心理念是让开发者能够像调用本地方法一样调用远程对象的方法,简化了分布式系统的设计和实现。 *...

    Java rmi远程方法调用基本用法解析

    //远程调用RMI RMIInterface rmiInterface = null; try { rmiInterface = (RMIInterface) Naming.lookup(RMIInterface.RMI_URL); Object ret = rmiInterface.sayHello("张先生"); System.out.println("测试...

    三种方式实现java远程调用(rmi),绝对可用

    在提供的压缩包文件中,"三种方式(原始方式_spring_jndi)实现java远程调用(rmi)"包含了相关的示例代码,帮助开发者理解并实践这三种RMI实现方法。在MyEclipse或其他Java开发环境中导入这些代码,可以进行调试和...

    java rmi远程调用

    最近在学习代理模式,用到了java rmi远程调用,包含服务端和客户端,之前一直没有接触过,学习了java rmi远程调用,一方面可以了解代理模式,一方面熟悉java低层的远程

    JAVA RMI远程调用方法代码

    接下来,`getMemberAccountCount`方法实现了远程调用逻辑,通过`this.ref.invoke`方法调用了远程方法,并处理了可能抛出的异常。 #### 2. 客户端代码分析 客户端通过`Naming.lookup`方法获取远程服务的引用,然后...

    通过Java RMI实现远程调用的一个简单例子

    这个简单的例子将引导我们了解如何利用Java RMI实现远程调用。 首先,我们要创建远程接口。在Java RMI中,远程接口是一个实现了`java.rmi.Remote`接口的Java接口。接口中声明的方法将在客户端调用,实际上会在...

    Java RMI远程方法调用详解

    RMI是Java的一组拥护开发分布式应用程序的API。RMI使用Java语言接口定义了远程对象,它集合了Java...  RMI(Remote Method Invocation,远程方法调用)是用Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能

    java 远程方法调用(java rmi)

    Java 远程方法调用(Java RMI,Remote Method Invocation)是Java平台提供的一种用于构建分布式应用程序的技术。它允许一个对象在某个Java虚拟机(JVM)上执行的方法调用另一个在不同JVM上的对象的方法,仿佛它们是...

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

    Java 远程方法调用(Remote Method Invocation,RMI)是一种在分布式环境中调用对象方法的技术,它使得Java应用程序能够透明地调用运行在不同 JVM 上的远程对象的方法。RMI 包含了一系列的参数,这些参数对于优化...

    java 实现RMI远程调用

    实现java RMI 远程调用,包括 RMIServer RMIClient源码,测试用例。

    RMI 远程方法调用.zip

    - **远程接口(Remote Interface)**:定义了可以被远程调用的方法,使用`@Remote`注解标识。 - **远程实现(Remote Implementation)**:实现了远程接口的类,包含远程方法的具体实现。 - **导出(Export)**:...

Global site tag (gtag.js) - Google Analytics