1. 程式人生 > >spring框架對 remoting 支援的總結

spring框架對 remoting 支援的總結

spring 作為一個基礎框架,最remoting(遠端呼叫)有多種支援。

  1. 對傳統RMI方式的支援 ,RMI是java 平臺上最傳統的 遠端呼叫方法,這種方法基於Java Remote Method Protocol ,而這個協議的底層是TCP。實現傳統RMI的核心類為RmiProxyFactoryBeanRmiServiceExporter,傳統RMI使用Java平臺預設的序列化方法序處理物件,同時因其底層為TCP,故易被某些防火牆攔截。由於屬於傳統的遠端呼叫方法,所以被放在spring-context這個jar中。使用範例
  2. 使用HTTP 協議進行remoting.由於傳統的RMI方式存在協議可能被攔截等問題,spring增加了http方式的remoting,也就是說使用HTTP協議取代了JRMP協議。這種方式有優點為只要防火牆允許HTTP協議即可執行。其他方面依舊使用Java平臺預設的序列化方法序處理物件。由於使用了HTTP協議,伺服器端需要執行在web伺服器中,同時核心類HttpInvokerServiceExporter
    HttpInvokerProxyFactoryBean也被放在spring-web這個jar中.
  3. 使用http協議和Hessian序列化進行remoting.這種方式使用Hessian序列化取代Java平臺的預設序列化方法,依舊使用HTTP協議。核心類HessianProxyFactoryBeanHessianServiceExporter被放在spring-web這個jar中.hessian具有更快的序列化速度和更小的體積。
  4. 使用http協議和Burlap序列化進行remoting.這種方式使用Burlap序列化取代Java平臺的預設序列化方法,依舊使用HTTP協議。核心類BurlapProxyFactoryBean
    BurlapServiceExporter被放在spring-web這個jar中.這種方法已經在spring 4.0 版本中被列為過時。
  5. 使用AMQP訊息服務協議和JAVA序列化進行remoting.這種方法的優勢是使用訊息隊伺服器作為中介軟體,訊息佇列作為請求的快取層,可以實現多個服務端在統一介面提供同樣的服務。核心類AmqpProxyFactoryBeanAmqpInvokerServiceExporter被放在spring-amqp這個jar中.使用範例