java RMI 开发

                                                                                                              

    一:服务端开发:  

        <bean id="webImagesServiceImpl" class="com.yknet.llgo.service.rmi.impl.WebImagesServiceImpl" ></bean>

        <!-- 图片管理服务接口 -->
        <bean id="webImagesServiceExporter" class="org.springframework.remoting.rmi.RmiServiceExporter">
            <!-- 服务的实现类 -->
            <property name="service" ref="webImagesServiceImpl" />
            <!-- 定义服务名,给客户端调用的名称 -->
            <property name="serviceName" value="webImagesService" />
            <!-- 服务端的接口 -->
            <property name="serviceInterface" value="com.yknet.llgo.service.rmi.IWebImagesService" />
            <!-- 服务端的端口号,这个也是供客户端调用的 -->
            <property name="registryPort" value="8088"></property>
            <property name="servicePort" value="2098"/><!--不指定就随机 -->
        </bean>

        <bean id="sMRMISocket" class="com.yknet.llgo.core.SMRMISocket"></bean> 
    
//解决外网访问时连接超时package com.yknet.llgo.core;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.rmi.server.RMISocketFactory;

public class SMRMISocket  extends RMISocketFactory {

     public Socket createSocket(String host, int port)
                throws IOException{
                return new Socket(host,port);
     }
     public ServerSocket createServerSocket(int port)
        throws IOException {
        if (port == 0)
            port = 2098;//不指定就随机
        return new ServerSocket(port);
    }
}

 

  


    二:客服端配置:    
    <bean id="imagesServiceWeb" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
        <!-- 端口号必须和服务端配置的要一模一样 8088/imagesServiceWeb:就是服务端配置的 serviceName -->
        <property name="serviceUrl" value="rmi://121.42.138.7:8088/webImagesService"></property>
        <!-- 服务端的接口 -->
        <property name="serviceInterface" value="com.yknet.llgo.service.rmi.IWebImagesService" />
    </bean>
				
时间: 2024-10-29 10:46:23

java RMI 开发的相关文章

java RMI入门指南

感觉这篇文章不错,直接转了 RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体如今它强大的开发分布式网络应用的能力上,是纯Java的网络分布式应用系统的核心解决方式之中的一个.事实上它能够被看作是RPC的Java版本号.可是传统RPC并不能非常好地应用于分布式对象系统.而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信.实现远程对象之间的无缝远程调用. RMI眼下使用Java远程消息交换协议JRMP

Java RMI 介绍和例子以及Spring对RMI支持的实际应用实例

RMI 相关知识 RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体现在它强大的开发分布式网络应用的能力上,是纯Java的网络分布式应用系统的核心解决方案之一.其实它可以被看作是RPC的Java版本.但是传统RPC并不能很好地应用于分布式对象系统.而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用. RMI目前使用Java远程消息交换协议JRMP(Java Remot

Java RMI(远程方法调用)开发

参考 https://docs.oracle.com/javase/7/docs/platform/rmi/spec/rmi-arch2.html http://www.cnblogs.com/wxisme/p/5296441.html http://blog.csdn.net/qb2049_xg/article/details/3278672 http://classfoo.com/ccby/article/p1wgbVn http://www.cnblogs.com/yin-jingyu/a

JAVA与网络开发(TCP:Socket、ServerSocket;UDP:DatagramSocket、DatagramPacket;多线程的C/S通讯、RMI开发概述)

通过TCP建立可靠通讯信道 1)为了对应TCP协议里的客户端和服务器端,Socket包提供了Socket类和ServerSocket类. 2)Socket类构造函数及相关方法 Public Socket(); public Socket(InetAddress address,int port);//本机IP和端口 public Socket(Striing host,int port);//本机IP和端口 public void connect(SocketAddress endpoint);

基于java工程开发RMI服务端

ServiceRegist.java import java.rmi.Remote; import java.rmi.RemoteException; public interface ServiceRegist extends Remote{ public user login(String userName, String password) throws RemoteException; } ServiceRegisterImpl.java public class ServiceRegi

JAVA RMI分布式原理和应用

RMI(Remote Method Invocation)是JAVA早期版本(JDK 1.1)提供的分布式应用解决方案,它作为重要的API被广泛的应用在EJB中.随着互联网应用的发展,分布式处理任务也随之复杂起 来,WebService也得到普遍的推广和应用.        在某些方面,例如跨语言平台的分布式应用,RMI就显得力不从心了.在实际的应用中,是采用WebService还是传统的RMI来实现?这是一个需要权衡的问题,两者的比较如下所述:        1. 比起WebService,它

Java RMI之HelloWorld篇

Java RMI之HelloWorld篇 Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方法调用的任何对象必须实现该远程接口. Java RMI不是什么新技术(在Java1.1的时代都有了),但却是是非常重要的底层技术. 大名鼎鼎的EJB都是建立在rmi基础之上的,现在还有一些开源的远程调用组件,其底层技术也是rmi. 在大力鼓吹Web Serv

对JAVA RMI的认识

RMI的定义 RPC (Remote Procedure Call):远程方法调用,用于一个进程调用另一个进程中的过程,从而提供了过程的分布能力. RMI(Remote Method Invocation):远程方法调用,即在RPC的基础上有向前迈进了一步,提供分布式对象间的通讯.允许运行在一个java 虚拟机的对象调用运行在另一个java虚拟机上对象的方法.这两个虚拟机可以是运行在相同计算机上的不同进程中,也可以是运行在网络上的不同计算机中. RMI的全称宗旨就是尽量简化远程接口对象的调用.

Java RMI

Java RMI:一:JAVA RMI?.Java RMI 是在网络分布式系统中进程间通信的一种方式,采用java的序列化协议进行编解码操作.它与RPC的优势是可以直接远程调用服务器中的对象,这个对象封装了一些客户端需要的服务接口. 二.RMI数据流程研究任何一种协议,我们需要从以下方面来分析:1.协议数据传输 单元2.数据的发送流3.数据的接收流4.使用底层的协议服务等这里以RMI为例:1.Object Stream是RMI处理单元,RMI最终请求的网络中的一个远程服务对象2.发送流: 客户端