Spring 实现远程访问详解——rmi

时间:2019-05-09 07:57:57
【文件属性】:

文件名称:Spring 实现远程访问详解——rmi

文件大小:56KB

文件格式:ZIP

更新时间:2019-05-09 07:57:57

Spring rmi 远程访问 RmiProxy Exporter

Spring为各种远程访问技术提供集成工具类。Spring远程访问通过使用普通POJOs,能更容易的开发远程访问服务。目前,Spring远程访问的主要技术如下: 1. 远程调用RMI(Remote Method Invocation): 通过使用 RmiProxyFactoryBean 和 RmiServiceExporter,并且,Spring支持两个传统的RMI(使用 java.rmi.Remote接口和java.rmi.RemoteException)和通过RMI调用器实现的暴露远程调用(支持任何Java接口)。 2. Spring的HTTP调用器(Spring’s Http Invoker): Spring提供了一种特殊的允许通过HTTP进行Java串行化的远程调用策略,支持任意Java接口(就像RMI调用器)。相对应的支持类是 HttpInvokerProxyFactoryBean和 HttpInvokerServiceExporter。 3. Hessian: 通过 HessianProxyFactoryBean 和 HessianServiceExporter,可以使用Caucho提供的基于HTTP的轻量级二进制协议来透明地暴露服务。 4. Burlap: Burlap是Caucho的另外一个子项目,可以作为Hessian基于XML的替代方案。Spring提供了诸如 BurlapProxyFactoryBean 和 BurlapServiceExporter 的支持类。 5. JAX RPC: Spring通过JAX-RPC为远程Web服务提供支持(J2EE 1.4's web service API)。 6. JAX-WS:Spring通过JAX-WS为远程Web服务提供支持(the successor of JAX-RPC, as introduced in Java EE 5 and Java 6)。 7. JMS:远程访问通过类JmsInvokerServiceExporter和JmsInvokerProxyFactoryBean使用JMS的底层协议实现。 二. 远程访问------RMI 1. RMI远程访问基本流程 1). 服务端定义远程访问接口; 2). 服务端通过RmiServiceExporter暴露服务接口 3). 客户端定义与服务端已暴露的相同接口 4). 客户端通过RmiProxyFactoryBean调用服务接口


【文件预览】:
spring_remote_client
----.project(2KB)
----pom.xml(9KB)
----target()
--------test-classes()
--------m2e-wtp()
--------classes()
----.settings()
--------.jsdtscope(508B)
--------org.eclipse.core.resources.prefs(155B)
--------org.eclipse.wst.common.component(685B)
--------org.eclipse.wst.validation.prefs(50B)
--------org.eclipse.jdt.core.prefs(736B)
--------org.eclipse.wst.common.project.facet.core.xml(252B)
--------org.eclipse.wst.jsdt.ui.superType.container(49B)
--------org.eclipse.m2e.core.prefs(90B)
--------org.eclipse.wst.jsdt.ui.superType.name(6B)
----src()
--------test()
--------main()
----.classpath(1KB)
----.externalToolBuilders()
--------org.eclipse.wst.jsdt.core.javascriptValidator.launch(548B)
spring_remote_server
----.project(2KB)
----pom.xml(9KB)
----target()
--------test-classes()
--------m2e-wtp()
--------classes()
----.settings()
--------.jsdtscope(508B)
--------org.eclipse.core.resources.prefs(155B)
--------org.eclipse.wst.common.component(685B)
--------org.eclipse.wst.validation.prefs(50B)
--------org.eclipse.jdt.core.prefs(736B)
--------org.eclipse.wst.common.project.facet.core.xml(252B)
--------org.eclipse.wst.jsdt.ui.superType.container(49B)
--------org.eclipse.m2e.core.prefs(90B)
--------org.eclipse.wst.jsdt.ui.superType.name(6B)
----src()
--------test()
--------main()
----.classpath(1KB)
----.externalToolBuilders()
--------org.eclipse.wst.jsdt.core.javascriptValidator.launch(548B)

网友评论