zoukankan      html  css  js  c++  java
  • spring3.0.5的rmi集成使用

    转载自 http://www.iteye.com/topic/908016
    • 一 前言 
          工作环境中,大部分功能,都是基于服务(SOA模式)的,因此用到了rmi.使用他的目的就是让分布式的开发变的简单,同时提高了项目的扩展性,可维护性,可读性. 
          rmi有很多种,例如: 
      1)远程方法调用(RMI) 
      2)Spring自己的HTTP invoker 
      3)EJB 
      4)Web Services 
      ...... 
      本文选择了spring的rmi接口进行分布式开发应用.具体用哪种rmi,我们还需要深入的挖掘.本文不作讨论. 
          至于具体哪里简单呢?需要朋友们深入了解java的远程方法调用(RMI).服务端的接口要继承java.rmi.Remote接口.启动类需要继承java.rmi.server.UnicastRemoteObject类.而且诸如服务器地址等配置信息,也不应该放在代码中,因此spring的rmi模式就应运而生了. 

      二 环境(javaSE项目) 
      jdk1.6.0.23 
      eclipse3.6.1_javaee 

      三 包 
      1)日志管理 
      commons-logging-1.1.1.jar 
      log4j-1.2.16.jar 

      2)spring核心包 
      org.springframework.asm-3.0.5.RELEASE.jar 
      org.springframework.beans-3.0.5.RELEASE.jar 
      org.springframework.context-3.0.5.RELEASE.jar 
      org.springframework.core-3.0.5.RELEASE.jar 
      org.springframework.expression-3.0.5.RELEASE.jar 

      3)aop支持 
      aopalliance.jar 
      org.springframework.aop-3.0.5.RELEASE.jar 

      四 spring基础配置 
      1)log4j的配置(src/log4j.properties),推荐配置; 
      2)commons-logging的配置(src/commons-logging.properties):这里是选配的,不配也不会报错,只是为了方便以后日志系统的切换; 
      3)spring的配置(src/applicationContext.xml),主要是头文件,spring3对头文件的要求很严格; 

      五 服务端配置与开发 
      1)开发服务的接口 
      2)开发服务的实现类 
      3)配置spring,配置实现类 
      4)配置spring,注册rmi服务,其中需要说明 
      a.远程调用服务名 
      b.提供服务的实现类 
      c.提供服务的接口 
      d.提供服务的端口 

      六 客户端配置与开发 
      1)将服务端的接口进行打包(注:不需要实现类,只是客户端访问服务端的一个存根) 
      2)配置spring 
      a.指定访问服务的地址 
      b.指定服务的接口 

      七 总结 
      1)接口与类就是java最简单的结构.与RMI无关; 
      2)客户端必须要有实现类的接口(存根),这样才能访问后实现类的转型,引用与方法调用; 
      3)本文将服务端和客户端写到了一个工程里,朋友们可以自己将起分离开来使用,但需要注意修改IP地址和开放防火墙相应端口; 
      4)服务端和客户端都需要使用spring才可以进行rmi的相关开发; 
      5)笔者会陆续补充其他几种rmi的集成使用方式; 

  • 相关阅读:
    java编译错误No enclosing instance of type TestFrame is accessible. Must qualify the allocation with an enclosing instance of type TestFrame (e.g. x.new A(
    java 2中创建线程方法
    动态规划基本思想
    关于eclipse编译一个工程多个main函数
    java Gui初识
    Eclipse中java项目的打包
    java 播放声音
    把资源文件夹导入到eclipse中
    Java建立JProgressBar
    How to grant permissions to a custom assembly that is referenced in a report in Reporting Services
  • 原文地址:https://www.cnblogs.com/chenying99/p/2555483.html
Copyright © 2011-2022 走看看