- 浏览: 96565 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
snow8261:
new的对象,满足逃逸分析的不会逃逸的对象才会放在栈里,其他都 ...
Java中栈溢出解决办法 -
Champion_93:
...
滚动图片,滚动文字,滚动任何东西 -
jojo_java:
wzq110120 写道哈哈,,,,w3c的例子
呵呵,是呀
xml+css显示数据 -
wzq110120:
哈哈,,,,w3c的例子
xml+css显示数据 -
jojo_java:
鸟哥哥 写道jojo_java 写道鸟哥哥 写道怎么可能
? ...
禁止查看源文件
import java.rmi.Remote; import java.rmi.RemoteException; import java.util.Date; /** * Description:<br> * 1.创建远程接口,继承java.rmi.Remote接口 * 2.创建远程类,实现远程接口 * 3.创建服务器端程序:负责在rmiregistry注册表中注册远程对象 * 4.创建客户端程序:负责定位远程对象,并调用远程对象的方法 * @author JOJO * @version 0.1 */ public interface HelloService extends Remote { public String echo (String msg) throws RemoteException; public Date getTime () throws RemoteException; }
import java.rmi.RemoteException; import java.rmi.server.UnicastRemoteObject; import java.util.Date; public class HelloServiceImpl extends UnicastRemoteObject implements HelloService { private String name; protected HelloServiceImpl(String name) throws RemoteException { this.name = name; /* * UnicastRemoteObject的构造方法会调用自身的exportObject(Remote obj,int port)。 * 该方法负责把参数obj指定的对象导出为远程对象,使它具有相应的存根, 并使它能够监听远程客户端的方法调用请求。 * 参数port指定监听的端口。 如果远程对象已经继承其他类,那么可以在构造方法中调用UnicastRemoteObject的 * 静态方法exportObject(Remote obj,int port)。 */ // UnicastRemoteObject.exportObject(this, 0); } public String echo (String msg) throws RemoteException { System.out.println(name + ":调用echo()方法。"); return "echo:" + msg + " from " + name; } public Date getTime () throws RemoteException { System.out.println(name + "调用getTime()方法。"); return new Date(); } }
import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; /** * Description:<br> * @author JOJO * @version 0.1 */ public class SimpleServer { public static void main (String[] args) { try { HelloService service1 = new HelloServiceImpl("service1"); HelloService service2 = new HelloServiceImpl("service2"); //创建并导出接受指定 port 请求的本地主机上的 Registry 实例。 Registry registry = LocateRegistry.createRegistry(1099); registry.rebind("HelloService1", service1); registry.rebind("HelloService2", service2); System.out.println("服务器注册了两个HelloService对象。"); } catch (Exception e) { e.printStackTrace(); } } }
import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; /** * Description:<br> * * @author JOJO * @version 0.1 */ public class SimpleClient { public static void main (String[] args) { try { // 返回指定的 host 和 port 上对远程对象 Registry 的引用。 Registry registry = LocateRegistry.getRegistry("127.0.0.1", 1099); HelloService service1 = (HelloService) registry.lookup("HelloService1"); HelloService service2 = (HelloService) registry.lookup("HelloService2"); System.out.println(service1.echo("hello")); System.out.println(service2.getTime()); } catch (Exception e) { e.printStackTrace(); } } }
发表评论
-
二维码生成
2012-12-05 13:12 698http://blog.csdn.net/about58238 ... -
配置solr
2012-11-07 09:27 0<?xml version="1.0&q ... -
Clear Special character
2012-11-05 09:33 645public static String[] an ... -
List在foreach时删除元素快速失败
2011-07-08 16:13 2307package collection; impor ... -
Eclipse+CDT+MinGW+Qt开发环境搭建
2010-09-17 17:25 1945Eclipse+CDT+MinGW+Qt开发环境搭建下载软件 ... -
Java中栈溢出解决办法
2010-09-17 10:42 2770由于java自动分配与拾取内存空间,我们无法用动态分配堆栈的大 ... -
Swing JFrame全屏
2010-09-11 21:44 2067import java.awt.DisplayMode; i ... -
分享一个MyEclipse的注册机
2010-06-21 09:05 656package test; import java.io ... -
ReadWriteLock
2010-04-21 15:20 881public final class ReadWriteLoc ... -
FontTest
2010-02-08 11:14 791package others; import java. ... -
两个简单的Client实例
2010-01-05 20:33 899[code="java"] ... -
图片加载器
2009-06-01 13:07 1068import javax.swing.Icon; impor ... -
关于权限管理的思考
2009-04-29 14:00 803public class Main { publi ... -
MessageQueue实现
2009-04-07 13:40 897package me2.jojo.MessageQueue; ... -
Dom4J使用(Xpath)
2009-03-27 18:13 1083import java.io.File; import jav ... -
获取IP地址的位置
2009-03-27 17:02 850public class SearchIP { pu ... -
Log4j配置
2009-03-27 16:55 843log4j.rootLogger = debug,A1,R ... -
读取Properties文件
2009-03-27 16:52 963import java.io.File; import jav ... -
java.text包中的Formatter使用
2009-03-27 16:44 1254import java.text.MessageFormat; ...
相关推荐
RMI应用开发的关键步骤包括: 1. **定义接口**:定义RMI服务的接口,其中包含所有需要远程调用的方法。 2. **实现接口**:在服务器端,创建一个实现接口的类,并实现所有方法。 3. **注册服务**:在服务器端,使用` ...
实验报告中可能会详细记录实现RMI应用的步骤,包括设置环境变量、编译源代码、运行RMI服务器和客户端等过程。在实验过程中,可能遇到的问题包括网络配置、权限问题、序列化异常(`RemoteException`)等,这些都是...
创建客户端RMI调用服务端的应用程序。 启动服务端,再启动客户端,测试是否调用成功。 如果客户端和服务端不在同一台电脑上,则需要对刚才定义的服务类采用rmic 编译一个客户端的框架类_stub并拷贝到客户端的类...
标题“spring rmi应用”指的是在Spring框架中使用Remote Method Invocation (RMI)技术进行分布式服务调用的应用场景。RMI是Java平台提供的一种机制,它允许一个Java对象调用远程计算机上的另一个Java对象的方法,...
在开发RMI应用时,常用的工具有JDK自带的RMI注册表(rmiregistry)、`rmic`编译器(用于生成stub和skeleton文件),以及IDE如Eclipse或IntelliJ IDEA中的RMI插件,它们可以帮助开发者更便捷地创建、部署和调试RMI...
- **网络依赖**: RMI应用对网络的稳定性和性能有较高要求。 - **故障恢复**: 当远程对象或网络出现问题时,恢复机制不够完善。 在实际应用中,开发者需要注意RMI的这些特点,并结合实际情况选择是否使用RMI或其他...
java RMI的一个实例,利用Eclipse开发的简单的银行存取款小程序,运行时需要启动java注册服务rmiregister,然后在两个命令行窗口分别运行服务器类和客户端类,支持局域网内不同机器间的访问
《基于RMI的Java商品管理系统...它展示了如何通过RMI实现分布式应用,如何设计远程接口和实现,以及如何在无数据库的情况下处理数据。对于想要深入理解Java RMI以及分布式系统开发的开发者,这是一个宝贵的实践案例。
综上所述,"Rmi示例 Rmi代码示例"提供了一个基础的RMI应用框架,展示了如何创建、注册远程对象,以及如何在客户端进行调用。通过深入理解和实践这个示例,开发者能够更好地掌握RMI的核心概念和技术,为构建分布式...
接下来,我们将详细讨论如何创建和运行一个简单的RMI应用示例: 1. **定义远程接口**: 创建一个接口,如`MyRemoteInterface.java`,并声明远程方法。例如: ```java public interface MyRemoteInterface ...
在Spring RMI应用中,这些步骤通常会简化为以下步骤: 1. **创建远程接口**:定义一个Java接口,标记为`@Remote`,声明所有要在远程服务器上执行的方法。 ```java import java.rmi.Remote; import java.rmi....
根据 RMI 应用程序各部分职责,可以对应用程序进行分类: 1. 服务器程序:服务器程序将创建多个远程对象,并使每个对象能够被引用。 2. 客户端程序:客户端程序从服务端程序中得到一个或多个远程对象的引用。 3. ...
描述中提到的"java rmi例子"表明其中可能包含了一个或多个实际的RMI应用实例,这对于学习和理解RMI的工作原理非常有帮助。 首先,让我们详细了解Java RMI的核心概念和组件: 1. **远程接口(Remote Interface)**...
RMI 应用程序通常包括两个独立的程序:服务器程序和客户机程序。典型的服务器应用程序将创建多个远程对象,使这些远程对象能够被引用,然后等待客户机调用这些远程对象的方法。而典型的客户机程序则从服务器中得到一...
开发一个RMI应用包含以下几个部分: (1)远程接口:继承java.rmi.Remote接口,定义远程对象所提供的方法。 (2)远程类:继承UnicastRemoteObject类,并实现远程接口。远程类的构造方法中调用UnicastRemoteObject...
通过理解以上知识点,你可以创建自己的RMI应用,实现不同JVM间的对象交互,从而构建分布式系统。不过,实际应用中,还应关注RMI与其他技术(如EJB、JMS、JNDI等)的集成,以及现代Java框架(如Spring)中对RMI的支持...
Spring RMI(Remote Method Invocation)是Java平台上的远程方法调用技术,结合Spring框架,能够帮助开发者轻松...实践中,还可以进一步探索如何结合Spring的其他特性,如AOP和事务管理,来增强RMI应用的功能和健壮性。
根据提供的文件信息,我们...通过以上步骤,我们成功地实现了一个简单的RMI应用程序,其中包括了远程接口的定义、远程对象的实现、服务器端和客户端的代码实现。这个例子展示了如何利用RMI技术来构建分布式应用程序。
10. **部署与配置**:RMI应用需要正确配置JVM的classpath、rmiregistry的启动、以及可能的防火墙设置,确保客户端能够找到并连接到服务器。 综上所述,"RMI聊天室-Java实现"是一个综合运用了Java RMI技术、多线程、...