原文:http://static.springframework.org/spring/docs/2.5.x/reference/remoting.html
domain model :
public class Account implements Serializable{ private static final long serialVersionUID = 9020521114209538117L; private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
corresponding services:
public interface AccountService { public void insertAccount(Account account); public List<Account> getAccounts(String name); }
实现类:
public class AccountServiceImpl implements AccountService { public List<Account> getAccounts(String name) { // TODO Auto-generated method stub return null; } public void insertAccount(Account account) { System.out.println("insert Account......"); } }
Exporting the service using the RmiServiceExporter:
<beans> <bean id="accountService" class="com.lmning.AccountServiceImpl"></bean> <bean id="service" class="org.springframework.remoting.rmi.RmiServiceExporter"> <property name="serviceName" value="AccountService"></property> <property name="service" ref="accountService"></property> <property name="serviceInterface" value="com.lmning.AccountService"></property> <property name="registryPort" value="1199"></property> </bean> </beans>
Linking in the service at the client:
运行: <bean id="serverAccountService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean"> <property name="serviceUrl" value="rmi://127.0.0.1:1199/AccountService"/> <property name="serviceInterface" value="com.lmning.AccountService"/> </bean>
server:
public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); RmiServiceExporter service = (RmiServiceExporter)ctx.getBean("service"); }
client:
public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml"); AccountService service = (AccountService)ctx.getBean("serverAccountService"); service.insertAccount(null); }
ok!
分享到:
相关推荐
而Spring-RMI(Remote Method Invocation)和HTTP调用是Spring框架中两种不同的远程通信机制,它们使得分布式系统间的交互变得简单易行。 **Spring-RMI** RMI是Java中的一种远程方法调用技术,允许对象在不同JVM...
Spring框架提供了对RMI的支持,使得开发者能够方便地在分布式环境中进行服务的调用。这个压缩包文件“Spring+RMI”很可能包含了实现这样一个远程调用示例的所有必要组成部分,包括配置文件、接口定义、服务器端实现...
具体到这个压缩包“springRMI”,我们可以推测它可能包含了以下几个部分: 1. **配置文件**:如`applicationContext.xml`,其中定义了Spring容器中的Bean,可能包括RMI服务的接口和实现。 2. **远程接口**:`.java`...
Spring RMI(Remote Method Invocation)远程接口调用是Spring框架提供的一个特性,它允许你在分布式环境中调用对象的方法,使得应用程序能够跨越网络边界操作远程对象。这个技术在大型企业级应用中尤其有用,因为它...
在这个“spring+rmi非本地实现”的项目中,我们有两个主要部分:客户端(client)和服务端(rmiserver)。让我们深入探讨一下这两个部分以及它们如何协同工作。 1. **服务端(rmiserver)**: - **创建RMI接口**:...
总结,Spring整合RMI提供了一种方便、灵活的方式来实现分布式系统中的远程方法调用。通过"SpringRMIClient"和"SpringRMIServer"示例,我们可以清晰地了解如何在Spring框架下设置和调用RMI服务。这在构建可扩展、高...
- **事务支持**:Spring可以为RMI调用提供事务管理,确保操作的原子性和一致性。 ### 4. Spring AOP与RMI结合 Spring的面向切面编程(AOP)可以与RMI集成,提供日志记录、性能监控、安全控制等功能。通过定义切点...
- 运行客户端,通过RMI调用服务器上的方法,验证通信是否成功。 在这个小例子中,我们可能会看到如下文件: - `RemoteInterface.java`:远程接口定义。 - `RemoteImpl.java`:远程接口的实现。 - `ServerConfig....
3. **事务管理**:Spring 的 AOP 支持可以在 RMI 调用中添加事务管理,确保跨远程调用的一致性。 4. **异常处理**:Spring 可以帮助封装 RMI 调用中可能出现的异常,提供统一的错误处理策略。 通过这个 "java ...
在这个"SpringRMI小例子"中,我们将深入探讨如何利用Spring框架来增强RMI的功能,使其更加灵活和易于管理。 首先,我们需要理解Spring框架在RMI中的角色。Spring提供了对RMI的高级抽象,通过其`org.springframework...
6. **源码分析**:在提供的压缩包文件`SpringRMI`中,可能包含了上述所有步骤的代码示例。通过阅读这些源码,你可以深入理解Spring RMI的工作原理,包括服务暴露、注册、代理创建等。 7. **工具使用**:在开发过程...
在Spring框架中,远程方法调用(Remote Method Invocation, RMI)是一种使应用程序能够通过网络调用另一个JVM上的对象方法的技术。RMI是Java平台的一部分,它允许开发者创建分布式应用,使得对象可以像调用本地方法...
本篇文章将深入探讨如何在Spring框架中配置和调用RMI的多个接口。 首先,我们需要了解Spring RMI服务端的配置。服务端的核心在于创建RMI服务接口和其实现。在`SpringRmiServer.zip`中,我们通常会看到以下几个关键...
在IT行业中,远程方法调用(Remote Method Invocation,RMI)和Spring框架是两个非常重要的概念,它们在分布式系统开发中发挥着关键作用。RMI是Java平台提供的一种技术,用于在不同Java虚拟机(JVM)之间进行对象间...
在Spring框架中,远程方法调用(Remote Method Invocation, RMI)是一种强大的工具,它允许在不同的Java虚拟机(JVM)之间透明地调用对象的方法。RMI结合了Spring的强大功能,可以构建分布式系统,使得组件之间的...
Spring框架提供了对RMI的支持,使得在Spring应用中集成RMI变得更加简单和灵活。本篇将深入探讨Spring如何与RMI结合,以及客户端和服务器端的实现细节。 ### 一、Spring RMI 服务器端集成 1. **定义远程接口**:...
本文将深入探讨“Spring RMI(Remote Method Invocation)应用”,这是Spring框架中用于实现远程方法调用的功能,它使得分布式系统开发变得更加简单。 首先,RMI是Java平台上的一个核心特性,允许在不同JVM之间透明...
通过分析和实践这个Spring RMI实例,开发者可以学习到如何在Spring环境中设置和使用RMI,这对于理解和掌握分布式系统的设计原则,尤其是Java环境下的分布式服务实现非常有帮助。同时,这也是一个很好的起点,可以...
Spring RMI(Remote Method Invocation)是Java平台上的远程方法调用技术,允许程序在不同的Java虚拟机(JVM)之间进行通信,实现分布式系统。在本文中,我们将深入探讨Spring框架如何集成RMI,以及如何创建和使用...
Spring RMI(Remote Method Invocation)...通过分析服务端和客户端的源码,我们可以深入理解如何在Spring框架下实现和使用RMI远程调用,这对于任何希望在分布式系统中利用Spring的开发者来说都是一份宝贵的参考资料。