`
superallen
  • 浏览: 141563 次
  • 来自: ...
社区版块
存档分类

Spring与RMI调用

阅读更多

一:服务器端
1. 要暴露的服务的接口:

java 代码
  1. package com.excellence.webservice;   
  2.   
  3. import java.util.List;   
  4.   
  5. public interface AccountService {   
  6. public void insertAccount(Account account);   
  7. public List getAccounts(String name);   
  8. }   

2. 实现了该接口的类:

java 代码
  1. package com.excellence.webservice;   
  2.   
  3. import java.util.List;   
  4.   
  5. public class AccountServiceImpl implements AccountService {   
  6.   
  7. public void insertAccount(Account account) {   
  8. System.out.println("inser!");   
  9.   
  10. }   
  11.   
  12. public List getAccounts(String name) {   
  13. System.out.println("get");   
  14. return null;   
  15. }   
  16.   
  17. }   

3. 在配置文件中公布改接口为RMI

xml 代码
  1. <bean id="accountService" class="com.excellence.webservice.AccountServiceImpl" />  
  2. <bean name="service" class="org.springframework.remoting.rmi.RmiServiceExporter">  
  3. <property name="serviceName" value="AccountService" ></property>  
  4. <property name="service" ref="accountService"></property>  
  5. <property name="serviceInterface" value="com.excellence.webservice.AccountService"></property>  
  6. <property name="registryPort" value="1199"></property>  
  7. </bean>  

4. 运行该RMI:

java 代码
  1. public class Demo {   
  2.   
  3.   
  4. public static void main(String[] args) {   
  5. ApplicationContext ctx = new FileSystemXmlApplicationContext("classpath:applicationCOntext.xml");   
  6. RmiServiceExporter obj = (RmiServiceExporter)ctx.getBean("service");   
  7.   
  8. }   
  9.   
  10. }   

二、客户端
1.拿到该服务的接口:

java 代码
  1. package com.excellence.webservice;   
  2.   
  3. import java.util.List;   
  4.   
  5. public interface AccountService {   
  6. public void insertAccount(Account account);   
  7. public List getAccounts(String name);   
  8. }   

 

2.在配置文件中进行配置:

xml 代码
  1. <bean id="accClient" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">  
  2. <property name="serviceUrl" value="rmi://localhost:1199/AccountService"></property>  
  3. <property name="serviceInterface" value="com.excellence.webservice.AccountService"></property>  
  4. </bean>  

3.调用RMI的方法:

java 代码
  1. public static void main(String[] args) {   
  2. ApplicationContext ctx = new FileSystemXmlApplicationContext("classpath:applicationContext.xml");   
  3. AccountService service = (AccountService)ctx.getBean("accClient");   
  4. service.insertAccount(new Account());   
  5. service.getAccounts("dd");   
  6.   
  7.   
  8. }   
分享到:
评论

相关推荐

    Spring-RMI (RMI调用, HTTP调用)

    Spring通过提供RMI集成,简化了RMI服务的创建和调用。以下是一些关键点: 1. **服务接口定义**:首先,你需要定义一个远程服务接口,这个接口将包含你希望在远程进程中执行的方法。 2. **服务实现**:接着,创建该...

    java spring+rmi 的远程调用例子

    Java Spring与RMI(Remote Method Invocation)的整合是企业级应用中常见的远程服务交互方式。Spring框架提供了对RMI的支持,使得开发者能够方便地在分布式环境中进行服务的调用。这个压缩包文件“Spring+RMI”很...

    spring和RMI分布式整合源码

    具体到这个压缩包“springRMI”,我们可以推测它可能包含了以下几个部分: 1. **配置文件**:如`applicationContext.xml`,其中定义了Spring容器中的Bean,可能包括RMI服务的接口和实现。 2. **远程接口**:`.java`...

    spring+rmi非本地实现

    当我们结合Spring与RMI时,可以构建分布式系统,使得服务可以在网络中的不同节点上运行并交互。 在这个“spring+rmi非本地实现”的项目中,我们有两个主要部分:客户端(client)和服务端(rmiserver)。让我们深入...

    spring RMI 远程接口调用

    Spring RMI(Remote Method Invocation)远程接口调用是Spring框架提供的一个特性,它允许你在分布式环境中调用对象的方法,使得应用程序能够跨越网络边界操作远程对象。这个技术在大型企业级应用中尤其有用,因为它...

    Spring-RMI.rar_spring rmi

    本文将详细讲解Spring与RMI的整合,以及如何通过"SpringRMIClient"和"SpringRMIServer"这两个示例文件实现跨项目的远程方法调用。 一、Spring整合RMI基础 1.1 RMI原理:RMI的核心在于Java的`java.rmi`包,它定义了...

    Spring RMI

    - **事务支持**:Spring可以为RMI调用提供事务管理,确保操作的原子性和一致性。 ### 4. Spring AOP与RMI结合 Spring的面向切面编程(AOP)可以与RMI集成,提供日志记录、性能监控、安全控制等功能。通过定义切点...

    Spring RMI小例子

    - 运行客户端,通过RMI调用服务器上的方法,验证通信是否成功。 在这个小例子中,我们可能会看到如下文件: - `RemoteInterface.java`:远程接口定义。 - `RemoteImpl.java`:远程接口的实现。 - `ServerConfig....

    java Spring+RMI入门程序源代码

    Java Spring 框架与 Remote Method Invocation (RMI) 的结合使用是构建分布式应用程序的一种常见方式。本项目提供了一个入门级的源代码示例,帮助开发者理解如何在 Spring 环境下集成 RMI 技术。以下是关于这两个...

    rmi与spring整合实例

    在IT行业中,远程方法调用(Remote Method Invocation,RMI)和Spring框架是两个非常重要的概念,它们在分布式系统开发中发挥着关键作用。RMI是Java平台提供的一种技术,用于在不同Java虚拟机(JVM)之间进行对象间...

    SpringRMI小例子

    在这个"SpringRMI小例子"中,我们将深入探讨如何利用Spring框架来增强RMI的功能,使其更加灵活和易于管理。 首先,我们需要理解Spring框架在RMI中的角色。Spring提供了对RMI的高级抽象,通过其`org.springframework...

    spring rmi 小例子

    6. **源码分析**:在提供的压缩包文件`SpringRMI`中,可能包含了上述所有步骤的代码示例。通过阅读这些源码,你可以深入理解Spring RMI的工作原理,包括服务暴露、注册、代理创建等。 7. **工具使用**:在开发过程...

    spring rmi 多接口配置 调用

    本篇文章将深入探讨如何在Spring框架中配置和调用RMI的多个接口。 首先,我们需要了解Spring RMI服务端的配置。服务端的核心在于创建RMI服务接口和其实现。在`SpringRmiServer.zip`中,我们通常会看到以下几个关键...

    spring rmi 集成

    本篇将深入探讨Spring如何与RMI结合,以及客户端和服务器端的实现细节。 ### 一、Spring RMI 服务器端集成 1. **定义远程接口**:首先,我们需要创建一个Java接口,该接口将定义远程服务的方法。例如,我们可以...

    Spring(RMI)实例

    将Spring与RMI结合使用,可以实现分布式服务的灵活构建。 首先,我们需要理解RMI的基本原理。RMI允许一个Java对象调用位于不同JVM中的另一个对象的方法。这涉及到三个主要步骤:导出远程对象、注册远程对象和调用...

    spring rmi应用

    本文将深入探讨“Spring RMI(Remote Method Invocation)应用”,这是Spring框架中用于实现远程方法调用的功能,它使得分布式系统开发变得更加简单。 首先,RMI是Java平台上的一个核心特性,允许在不同JVM之间透明...

    spring+rmi实现非本地部署

    将Spring与RMI结合,可以实现非本地部署的服务,使得客户端能够跨网络调用服务端的方法。以下是对这个主题的详细阐述: 首先,我们需要理解Spring框架的核心概念。Spring通过依赖注入(Dependency Injection,DI)...

    spring RMI 实用分享

    Spring RMI(Remote Method Invocation)是Java平台上的远程方法调用技术,允许程序在不同的Java虚拟机(JVM)之间进行通信,实现分布式系统。在本文中,我们将深入探讨Spring框架如何集成RMI,以及如何创建和使用...

    Spring 实现远程访问详解——rmi

    1. 远程调用RMI(Remote Method Invocation): 通过使用 RmiProxyFactoryBean 和 RmiServiceExporter,并且,Spring支持两个传统的RMI(使用 java.rmi.Remote接口和java.rmi.RemoteException)和通过RMI调用器实现的...

    spring RMI简单例子

    5. **运行与测试**:启动RMI服务器,然后在客户端创建代理并调用远程方法。确保客户端和服务器之间的网络连接畅通。 这个简单的例子展示了Spring RMI的基本用法,但实际应用中可能需要考虑更多因素,如安全性、事务...

Global site tag (gtag.js) - Google Analytics