首页 > 代码库 > Spring 集成 RMI

Spring 集成 RMI

Maven

        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-remoting</artifactId>        </dependency>

服务端

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:context="http://www.springframework.org/schema/context"       xmlns:tx="http://www.springframework.org/schema/tx"       xmlns:p="http://www.springframework.org/schema/p"       xsi:schemaLocation="http://www.springframework.org/schema/beans       http://www.springframework.org/schema/beans/spring-beans-3.2.xsd       http://www.springframework.org/schema/context       http://www.springframework.org/schema/context/spring-context-3.2.xsd       http://www.springframework.org/schema/tx       http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">    <bean id="hello" class="org.zln.bdrisk.col.HelloImpl"/>    <bean class="org.springframework.remoting.rmi.RmiServiceExporter">        <!-- RMI服务名称,可自定义服务名称 -->        <property name="serviceName" value="helloService" />        <!-- 导出实体 -->        <property name="service" ref="hello" />        <!-- 导出接口 -->        <property name="serviceInterface" value="org.zln.bdrisk.col.IHello" />        <!-- spring默认使用1099端口 -->        <property name="registryPort" value="8888" />    </bean></beans>

客户端

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:context="http://www.springframework.org/schema/context"       xmlns:tx="http://www.springframework.org/schema/tx"       xmlns:p="http://www.springframework.org/schema/p"       xsi:schemaLocation="http://www.springframework.org/schema/beans       http://www.springframework.org/schema/beans/spring-beans-3.2.xsd       http://www.springframework.org/schema/context       http://www.springframework.org/schema/context/spring-context-3.2.xsd       http://www.springframework.org/schema/tx       http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">    <bean id="hello" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">        <property name="serviceUrl" value="rmi://localhost:8888/helloService" />        <property name="serviceInterface" value="org.zln.bdrisk.col.IHello" />    </bean></beans>

 

 

说明:服务端只有Spring实例化了,RMI服务对象就会注册好等着被调用,客户端上填写好服务端的地址和服务名,然后从Spring容器中获取远程对象即可

RMI与Spring集成后,编写RMI服务类和普通的接口、实现没有区别,不再需要集成、跑出指定异常等

 

RMI的限制:1、客户端和服务端都必须是Java  2、对地址、端口的依赖

Spring 集成 RMI