`
e3002
  • 浏览: 77668 次
社区版块
存档分类
最新评论

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>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics