`
mmdev
  • 浏览: 13302447 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

RMI调用模版

阅读更多

1. 定义远程接口

// 远程接口继承自Remote<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

// 远程方法的传入参数和返回值必须是自然类型(intfloatboolean等)

// 或者实现了SerializableRemote接口的对象。

public interface Time extends java.rmi.Remote {

// 远程方法必须抛出RemoteException

public String getTime() throws RemoteException;

}

2. 定义实现类

// 注意:实现类继承自UnicastRemoteObject和自定义的远程接口Time

public class TimeImpl extends java.rmi.server.UnicastRemoteObject implements Time {

// 注意:由于RemoteObject构造函数要抛出RemoteException

// 因此务必定义构造函数并抛出RemoteException

public TimeImpl() throws RemoteException { super(); }

// 这里是远程方法:

public String getTime() throws RemoteException {

return "<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><time w:st="on" minute="4" hour="12">12:04:27</time>";

}

// 启动服务:

public static void main(String[] args) throws Exception {

// 可以手动启动RMI Registry,也可以在程序中启动:

java.rmi.registry.LocateRegistry.createRegistry(1099);

// 绑定名字服务,地址是本地计算机名或本机IP,默认端口是1099

java.rmi.Naming.bind("//localhost:1099/servicename", new TimeImpl());

// 如果没有异常抛出,则绑定成功。

// 如果名字已经被绑定,可以用Naming.rebind()替换掉已绑定的服务。

}

}

3. 编译生成桩和框架

运行rmic TimeImpl,生成TimeImpl_Skel.classTimeImpl_Stub.class

4. 客户端

// 客户端文件包含客户端代码Client.class,远程接口Time.class

// rmic生成的支持类TimeImpl_Skel.classTimeImpl_Stub.class

public static void main(String[] args) throws Exception {

// 客户端通过IP引用服务器端的远程对象,因此可以动态选择服务器。

// 如果不指定端口,默认端口号是1099

Time time = (Time)java.rmi.Naming.lookup("//localhost:1099/servicename");

System.out.println(time.getTime());

}

分享到:
评论

相关推荐

    java的RMI

    此外,使用IDE如Eclipse或IntelliJ IDEA,可以方便地生成RMI项目模板和自动处理stubs和skeletons的生成。 ### 遇到的问题及解决策略 1. **网络问题**:网络延迟、丢包可能导致调用失败,需要处理`RemoteException`...

    EJB调用原理分析

    2. **创建Session Bean**: 如果是Session Bean,客户端通过Home接口的`create()`方法创建一个Remote接口实例,这个过程可能涉及远程方法调用(RMI)。 3. **调用业务方法**: 客户端通过Remote接口调用EJB的业务方法...

    Java模板方法设计模式[定义].pdf

    Java 模板方法设计模式定义 Java 模板方法设计模式是指在软件开发过程中,通过定义一个通用的算法结构,然后将具体的实现细节交给子类来完成的设计模式。该模式的核心思想是,通过回调函数来实现算法的可扩展性和...

    软件工程毕业论文答辩PPT模板

    - **概念**:Java RMI是一种允许在不同Java虚拟机(JVMs)上的对象互相调用方法的技术。 - **优势**: - **简单性**:提供了一种类似于本地方法调用的API,使得开发者可以轻松地实现远程对象调用。 - **安全性**:...

    JAVA模版游戏

    6. **网络支持**:如果游戏支持多人在线,模板可能包含网络通信的框架,如RMI(远程方法调用)或Socket编程,用于实现玩家之间的互动。 7. **资源管理**:游戏资源如图像、音频、字体等的加载和管理,模板通常会...

    软件开发(软件设计)文档模板

    例如,提及的“客户端运行后,通过RMI访问和修改服务器端数据库中的数据”表明软件旨在实现远程方法调用(RMI),允许客户端应用程序远程调用服务器上的方法,从而访问和修改数据库。这通常用于分布式系统中,使得不同...

    An Introduction to Network Programming with Java

    本书全面介绍了Java网络编程的核心概念、技术和实践方法,包括远程方法调用(RMI)、Servlet、JSP等内容。 ### 一、Java网络编程概述 Java作为一种广泛使用的编程语言,在网络编程领域有着举足轻重的地位。Java...

    中间件复习资料.doc

    综上所述,中间件是构建复杂分布式系统的关键,它解决了异构环境下的交互难题,而RPC和RMI等技术则进一步细化了远程调用和对象通信的方式。理解和掌握这些知识点对于理解和开发分布式系统至关重要。

    J2EE博客精华

    - **Tiny RMI远程调用**:RMI(Remote Method Invocation)是一种允许对象通过网络请求另一个对象上的方法调用的机制,Tiny RMI可能是对其的一种封装或增强。 #### 5. 性能优化与缓存管理 - **J2Cache缓存框架**:...

    spring基础功能分享ppt课件.ppt

    Spring Portlet MVC、Spring Web模块、远程调用、JAVA消息服务等模块也提供了广泛的功能,包括RMI、Hessian、Webservice等远程调用方式,和apache activeMQ、MuleESB、JbossMQ等JAVA消息服务。 在Spring的DI中,...

    dobbo简单实例的admin,provide,consumer

    Dubbo是一个高性能、轻量级...开发者可以通过部署`dubbo-admin-2.5.4-SNAPSHOT.war`来监控服务,使用`provider`和`consumer`目录中的代码和配置作为模板,创建自己的服务提供者和消费者,进一步实践和熟悉Dubbo的使用。

    个人简历模板_55.docx

    他精通JSP(Java Server Pages)、JDBC(Java Database Connectivity)用于与数据库交互,JNDI(Java Naming and Directory Interface)用于服务定位,RMI(Remote Method Invocation)用于远程方法调用,Servlet是...

    dubbo服务和消费

    《Dubbo服务与消费详解》 Dubbo,作为阿里巴巴开源的一款高性能、轻量级的Java RPC...在实践中,开发者可以依据这个模板,快速搭建自己的服务,同时理解和掌握Dubbo的诸多功能,提升分布式系统的开发效率和稳定性。

    liferay架构

    开发人员可以通过多种方式,如SOAP(简单对象访问协议)、RMI(远程方法调用)以及自定义隧道类来访问并操作门户提供的API,从而实现对门户的灵活扩展与定制。 ### 二、Portlet应用接口(JSP168) Liferay的设计遵循...

    [毕设论文模板例子]JAVA文件传输.doc

    Java 语言支持分布式编程,通过RMI(Remote Method Invocation,远程方法调用)、Socket 编程等技术,可以实现分布式系统的开发。 输入/输出流概念 输入/输出流是指在计算机中处理数据的基本操作。Java 语言提供了...

    Dubbo 博客系统 SpringBoot 博客系统.zip

    4. **远程调用(RPC)**: Dubbo支持多种RPC协议,如HTTP、RMI、Hessian等,实现服务间的远程方法调用。 5. **负载均衡(Load Balance)**: 在多台服务提供者之间进行请求分发,提高系统可用性。 6. **监控(Monitor...

    dubbo 实例

    4. **协议(Protocol)**:定义了服务调用的协议,如dubbo、http、rmi等。 5. **负载均衡(LoadBalance)**:在多台服务器中选择一台进行调用,如随机、轮询、一致性哈希等策略。 6. **集群(Cluster)**:对服务提供者的...

    北京大学Java课件

    - RMI(Remote Method Invocation)是Java的远程方法调用技术,允许分布式系统中的对象相互调用方法。 - RMI体系结构包括:远程接口、远程对象、注册表和服务端、客户端。 - 序列化:RMI中,远程对象必须可序列化...

    吴天雄--Spring笔记.doc

    - RMI(Remote Method Invocation,远程方法调用)是Java实现分布式计算的一种机制,它允许对象在不同的Java虚拟机之间进行交互,实现了远程类对象的实例化和方法调用。 - JMX(Java Management Extensions,Java...

Global site tag (gtag.js) - Google Analytics