刚刚学习了RMI基础运用,现在来看一下 spring对RMI的支持。
这边要注意一点,和普通的RMI相比,和spring结合不再继承 UnicastRemoteObject
接口变成
public class StudentMsg implements IStudentMsg
而不是之前的
public class StudentMsg extends UnicastRemoteObject implements IStudentMsg
其他的配置不变,现在看看spring配置文件
服务端:applicationContext.xml
<!--服务端--> <bean id="studentServiceImpl" class="com.Rmi.Serv.StudentMsg" scope="prototype"/> <!-- 将类为一个RMI服务 --> <bean id="studentService" class="org.springframework.remoting.rmi.RmiServiceExporter"> <!-- 服务类 --> <property name="service" ref="studentServiceImpl" /> <!-- 服务名 --> <property name="serviceName" value="studentServices" /> <!-- 服务接口 --> <property name="serviceInterface" value="com.Rmi.Imp.IStudentMsg" /> <!-- 服务端口 --> <property name="registryPort" value="9999" /> </bean>
客户端:applicationContext2.xml
<!--客户端--> <bean id="myClient" class="org.springframework.remoting.rmi.RmiProxyFactoryBean"> <property name="serviceUrl" value="rmi://127.0.0.1:9999/studentServices"/> <property name="serviceInterface" value="com.Rmi.Imp.IStudentMsg"/> </bean>
就是那么简单。
测试一下:
客户端: public class ClientTest { public static void main(String[] args) throws RemoteException { plicationContext context = new ClassPathXmlApplicationContext("applicationContext2.xml"); tudentMsg hms = context.getBean("myClient", IStudentMsg.class); System.out.println(hms.findStudentArray().length); }
public class ServerTest {
public static void main(String[] args) { //初始化工作只能运行一次;运行多次的话,会启动多个服务 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); } }
相关推荐
2. **RMI架构**:RMI的核心组件包括远程接口(Remote Interface)、远程对象(Remote Object)、RMIC编译器和RMI注册表(RMI Registry)。远程接口定义了客户端可以调用的远程方法,远程对象实现了这些接口并实际...
学习和理解Java RMI对于开发分布式Java应用至关重要,它可以帮助你构建可扩展、高性能的应用程序,尤其适用于服务器集群和云环境。通过实践提供的"rmi"代码示例,你可以深入理解RMI的工作原理,并掌握如何在实际项目...
Java RMI(远程方法调用)是Java编程语言中的一项核心技术,自JDK 1.1版本起就被引入...虽然现代的Java框架如Spring、EJB等提供了更高级别的分布式服务,但理解RMI的基本原理对于深入学习Java分布式系统仍然是必要的。
Java Remote Method Invocation (RMI) 是Java平台提供的一种强大的分布式计算技术,允许在不同网络节点上的Java对象之间进行远程调用。RMI是构建分布式Java应用程序的基础,它简化了跨网络通信的过程,使得开发者...
这个"java rmi HelloWorld版(源码)"的压缩包文件提供了一个简单的RMI应用示例,帮助开发者了解和学习RMI的基本原理和使用。 RMI的核心概念包括: 1. **远程接口(Remote Interface)**:这是定义远程方法的接口...
最近在学习代理模式,用到了java rmi远程调用,包含服务端和客户端,之前一直没有接触过,学习了java rmi远程调用,一方面可以了解代理模式,一方面熟悉java低层的远程
通过分析这些文件,你可以学习到如何创建、配置和运行一个完整的RMI应用程序,这对于理解和应用Java的分布式计算能力非常有帮助。同时,这也是一个很好的实践项目,可以帮助你加深对RMI工作原理的理解。
这个教程“Rmi.rar”显然包含了关于如何使用Java RMI实现不同方式的实例,这些实例可能是精心设计和测试的,旨在帮助学习者深入理解RMI的工作原理。 RMI的核心概念包括: 1. **远程接口(Remote Interface)**:...
Java RMI,全称为Java Remote Method Invocation,是Java平台中用于远程对象调用的技术。它允许Java对象在不同的Java虚拟机之间进行通信,仿佛它们在同一个...尽管如此,了解RMI仍然是学习Java分布式计算的重要一环。
2. **远程实现(Remote Implementation)**:实现了远程接口的具体类,这个类通常继承自`java.rmi.server.UnicastRemoteObject`或其子类。这个类包含了远程方法的实际实现。 3. **注册(Registry)**:RMI注册表(`...
描述中提到的"java rmi例子"表明其中可能包含了一个或多个实际的RMI应用实例,这对于学习和理解RMI的工作原理非常有帮助。 首先,让我们详细了解Java RMI的核心概念和组件: 1. **远程接口(Remote Interface)**...
学习和理解Java RMI,你需要掌握如何创建远程接口和实现,如何启动RMI服务器,如何在客户端进行远程对象的查找和调用,以及如何处理可能出现的网络异常。此外,对于序列化和网络通信的基础知识也是必不可少的。通过...
2. **RMI客户端(rmiclient)**: - **查找远程对象**:客户端通过`java.rmi.Naming.lookup()`方法,根据服务器提供的注册表地址和对象名称获取远程对象的引用。 - **调用远程方法**:获取到远程对象后,客户端...
Java RMI(Remote Method Invocation,远程...使用这个“java_rmi.zip”中的资源,你可以学习如何设置RMI环境,编写远程接口和实现,以及创建和调用远程对象。同时,了解相关的最佳实践和安全注意事项也是十分重要的。
在"基于Java RMI的C/S编程实验"中,学生会学习如何创建远程接口,注册远程对象,以及如何在客户端透明地调用远程方法。 实验中包含的两个文件名 "HelloSwing" 和 "CityInformation" 提示我们,实验可能涉及到图形...
Java 远程方法调用(Java RMI,Remote Method Invocation)是Java平台提供的一种用于构建分布式应用程序的...学习和理解Java RMI,可以帮助开发者构建可扩展的、跨网络的分布式应用程序,是Java开发者必备的一项技能。
Java Remote Method Invocation(Java RMI)是Java平台中用于实现分布式计算的一种技术。它允许Java对象在不同的Java虚拟机(JVMs)之间进行通信,仿佛它们是在同一个进程中执行一样。RMI使得开发者能够构建分布式...
分布式Java RMI(Remote Method Invocation)技术是一种在Java平台中实现分布式计算的重要工具,它允许一个对象...通过学习和理解这个项目,开发者可以深化对Java RMI的理解,以及如何在实际项目中应用分布式计算技术。
通过这个完整的Java RMI通信例子,我们可以学习如何在实际项目中利用RMI来构建分布式系统,提升应用的可扩展性和灵活性。同时,理解RMI的工作原理也有助于我们更好地设计和实现其他分布式技术,如EJB、Web服务等。
这个"java_in_rmi.rar"压缩包包含了学习和精通RMI的基础资料,非常适合初学者深入理解这一主题。 首先,RMI的核心概念是远程方法调用,它允许一个Java对象调用位于另一台计算机上的对象的方法。这种机制依赖于Java...