spring rmi 实现

先建树下java rmi工作原理

1、客户端发起请求,请求转交至RMI客户端的stub类;
2、stub类将请求的接口、方法、参数等信息进行序列化;
3、基于socket将序列化后的流传输至服务器端;
4、服务器端接收到流后转发至相应的skelton类;
5、skelton类将请求的信息反序列化后调用实际的处理类;
6、处理类处理完毕后将结果返回给skelton类;
7、Skelton类将结果序列化,通过socket将流传送给客户端的stub;
8、stub在接收到流后反序列化,将反序列化后的Java Object返回给调用者。

spring rmi实现
服务端实现
<bean class="org.springframework.remoting.rmi.RmiServiceExporter">
       <property name="serviceName">
           <value>gamesterService</value> 服务名字,可随便起
       </property>
       <property name="service">
           <ref bean="pageLinksService" /> 接口实际实现类
       </property>
       <property name="serviceInterface">
          <value>
             com.test.servicesupport.IPageLinksService 对外暴露的接口
           </value>
       </property>

       <!-- defaults to 1099 -->
       <property name="registryPort">
           <value>9000</value>   注意不要与其它端口冲突
       </property>
    </bean>


你需要向客户端提供接口类和配置文件
<bean id="pageLinksRemotingService"
       class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
       <property name="serviceUrl">
           <value>rmi://192.168.216.186:9000/gamesterService</value>
       </property>
       <property name="serviceInterface">
           <value>
             com.airinbox.gamester.servicesupport.IPageLinksService
           </value>
       </property>
       <property name="lookupStubOnStartup">
           <value>false</value>
       </property>
       <property name="refreshStubOnConnectFailure">
           <value>true</value>
       </property>
       <property name="cacheStub">
           <value>false</value>
       </property>
    </bean>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值