*远程方法调用(RMI)。通过使用RmiProxyFactoryBean和RmiServiceExporter,Spring支持传统的RMI(使用 java.rmi.Remote interfaces 和 java.rmi.RemoteException)和通过RMI调用器(可以使用任何Java接口)的透明远程调用 。
*Spring的HTTP调用器。Spring提供一种特殊的远程调用策略支持任何Java接口(象RMI调用器一样),它允许Java序列化能 够通过HTTP传送。对应的支持类是HttpInvokerProxyFactoryB
*Hessian。通过使用HessianProxyFactoryBean和HessianServiceExporter,你可以使用Caucho提供的轻量级基于HTTP的二进 制协议透明地提供你的业务。
*Burlap。Burlap是基于XML的,它可以完全代替Hessian。Spring提供的支持类有BurlapProxyFactoryBean和 BurlapServiceExporter。
*JAX RPC (TODO).
下面简单讨论使用HessianHTTP远程调用业务。
Hessian简要介绍:
is well-suited to sending binary data without any need to extend the protocol with attachments.
org.springframework.remoting.caucho
Class HessianProxyFactoryBean
java.lang.Object
一. 为Hessian建立DispatcherServlet
Hessian使用一个特定的servlet来通过HTTP通讯。使用Spring的DispatcherServlet概念,你可以很容易地创建这样的servlet来提供你的业务。首先我们必须在你的应用中创建一个新的servlet(下面来自web.xml):
<servlet>
</servlet>
你可能熟悉Spring的DispatcherServlet概念,如果是的话,你得在WEB-INF目录下建立一个应用上下文,remoteservlet.xml 。这个应用上下文会在下一节中使用。
二. 使用HessianServiceExporter提供你的bean
在这个新的应用上下文remote-servlet.xml中,我们将创建一个HessianServiceExporter来输出你的业务:
<bean id="myService" class="example.myServiceImpl">
</bean>
<bean name="/myService" class="org.springframework.remoting.caucho.HessianServiceExporter">
</bean>
现在我们准备在客户端连接这个业务。我们使用BeanNameUrlHandlerMappin
三.客户端连接业务:
1、引入jar包--hessian-3.0.13.jar。
2、在xml文件中配置用于实现接口的bean。
3、在本地新建一个名为ImyService的接口。并在该接口中声明要调用的函数。
4、在 MyBOImpl.java中,建函数doHello。在该函数中调用myService.Hello("100","lili"),并注入ImyService实例对象。
即