RMI服务导出器和HttpInvoker之间的区别?

时间:2012-09-29 14:21:48

标签: spring rmi spring-remoting

RMI服务导出器和HttpInvoker有什么区别?

我知道RMI使用RMI作为底层通信技术和调用者标准的http post。还有其他值得注意的差异吗?

1 个答案:

答案 0 :(得分:4)

RMI是一种标准的Java技术,原则上是可移植的。您可以轻松地与其他Java应用程序进行交互。

Spring HTTP调用程序是一项专有技术。它们与RMI一样,使用Java序列化,但使用标准HTTP协议作为底层网络层。一方面,由于您仅限于其他Spring应用程序,因此便携性较差。另一方面,与二进制RMI协议相比,使用标准HTTP协议可能被视为 more 可移植。

选择

    如果您需要跨Java应用程序的可移植性,请
  • RMI

  • HTTP调用程序如果您需要透明的网络传输,可以很好地使用防火墙等。

  • SOAP / REST Web服务,如果您的API应该在不同的平台/客户端上运行,并且需要使用标准HTTP协议工作

  • 如果您需要高效便携的二进制协议,请
  • Thriftprotobuf