?
Dieses Dokument verwendet PHP-Handbuch für chinesische Websites Freigeben
目錄
RmiServiceExporter
暴露服務(wù)DispatcherServlet
HessianServiceExporter
暴露你的beanSpring為各種遠(yuǎn)程訪問技術(shù)的集成提供了整合類。Spring使得開發(fā)具有遠(yuǎn)程訪問功能的服務(wù)變得相當(dāng)容易,而這些遠(yuǎn)程訪問服務(wù)由普通Spring POJO實(shí)現(xiàn)。目前,Spring支持四種遠(yuǎn)程技術(shù):
遠(yuǎn)程方法調(diào)用(RMI)。通過(guò)使用 RmiProxyFactoryBean
和 RmiServiceExporter
,Spring同時(shí)支持傳統(tǒng)的RMI(使用java.rmi.Remote
接口和java.rmi.RemoteException
)和通過(guò)RMI調(diào)用器實(shí)現(xiàn)的透明遠(yuǎn)程調(diào)用(支持任何Java接口)。
Spring的HTTP調(diào)用器。Spring提供了一種允許通過(guò)HTTP進(jìn)行Java串行化的特殊遠(yuǎn)程調(diào)用策略,它支持任意Java接口(就像RMI調(diào)用器)。相對(duì)應(yīng)的支持類是 HttpInvokerProxyFactoryBean
和 HttpInvokerServiceExporter
。
Hessian。通過(guò) HessianProxyFactoryBean
和 HessianServiceExporter
,可以使用Caucho提供的基于HTTP的輕量級(jí)二進(jìn)制協(xié)議來(lái)透明地暴露服務(wù)。
Burlap。 Burlap是Caucho基于XML用來(lái)替代Hessian的項(xiàng)目。Spring提供了諸如 BurlapProxyFactoryBean
和 BurlapServiceExporter
的支持類。
JAX RPC。Spring通過(guò)JAX-RPC(J2EE 1.4's wweb service API)為Web services提供遠(yuǎn)程服務(wù)支持。
JAX-WS. Spring通過(guò)(在Java EE 5和Java 6中引入的JAX-RPC繼承)為遠(yuǎn)程Web Services提供支持。
JMS. 通過(guò)JmsInvokerServiceExporter
和JmsInvokerProxyFactoryBean
使用JMS做為底層協(xié)議提供遠(yuǎn)程服務(wù).
在討論Spring對(duì)遠(yuǎn)程訪問的支持時(shí),我們將使用下面的域模型和對(duì)應(yīng)的服務(wù):
public class Account implements Serializable{ private String name; public String getName(); public void setName(String name) { this.name = name; } }
public interface AccountService { public void insertAccount(Account account); public List getAccounts(String name); }
public interface RemoteAccountService extends Remote { public void insertAccount(Account account) throws RemoteException; public List getAccounts(String name) throws RemoteException; }
// 該實(shí)現(xiàn)目前什么事情也不做 public class AccountServiceImpl implements AccountService { public void insertAccount(Account acc) { // 做一些事情…… } public List getAccounts(String name) { // 做一些事情…… } }
我們將從使用RMI把服務(wù)暴露給遠(yuǎn)程客戶端開始,同時(shí)探討RMI的一些缺點(diǎn)。然后我們將演示一個(gè)使用Hessian的例子。