15.2 使用 RMI

如果你已经使用 Java 编程有些年头的话,你肯定会听说过(也可能使用过)RMI。RMI 最初在 JDK 1.1 被引入到 Java 平台中,它为 Java 开发者提供了一种强大的方法来实现 Java 程序间的交互。在 RMI 之前,对于 Java 开发者来说,远程调用的唯一选择就是 CORBA(在当时,需要购买一种第三方产品,叫作 Object Request Broker[ORB]),或者手工编写 Socket 程序。

但是开发和访问 RMI 服务是非常乏味无聊的,它涉及到好几个步骤,包括程序的和手工的。Spring 简化了 RMI 模型,它提供了一个代理工厂 bean,能让我们把 RMI 服务像本地 JavaBean 那样装配到我们的 Spring 应用中。Spring 还提供了一个远程导出器,用来简化把 Spring 管理的 bean 转换为 RMI 服务的工作。

对于 Spittr 应用,我们将展示如何把一个 RMI 服务装配进客户端应用程序的 Spring 应用上下文中。但首先,让我们看看如何使用 RMI 导出器把 SpitterService 的实现发布为 RMI 服务。