Hessian 的 Spring 远程调用示例

17 Mar 2025 | 阅读 2 分钟

通过 HessianServiceExporterHessianProxyFactoryBean 类,我们可以实现 hessian 提供的远程调用服务。

Hessian 的优势

Hessian 可以在防火墙中很好地工作。 Hessian 具有可移植性,可以与其他语言(如 PHP 和 .Net)集成。


Hessian 远程调用的示例

您需要创建以下文件以创建简单的 hessian 应用程序

  1. Calculation.java
  2. CalculationImpl.java
  3. web.xml
  4. hessian-servlet.xml
  5. client-beans.xml
  6. Client.java
1) Calculation.java

这是一个包含一个 cube 方法的简单接口。


2) CalculationImpl.java

这个类提供了 Calculation 接口的实现。


3) web.xml

在这个 xml 文件中,我们将 DispatcherServlet 定义为前端控制器。 如果任何请求后跟 .http 扩展名,它将被转发到 DispatcherServlet。


4) hessian-servlet.xml

它必须在 WEB-INF 文件夹中创建。 它的名称必须是 servletname-servlet.xml。 它为 CalculationImplHessianServiceExporter 定义了 bean。


5) client-beans.xml

在这个 xml 文件中,我们为 HessianProxyFactoryBean 定义了 bean。 您需要定义这个类的两个属性。

  1. serviceUrl
  2. serviceInterface

在此示例中,我们的项目名称是 hessian,即用作 serviceURL 中的上下文根。


6) Client.java

此类获取 Calculation 的实例并调用 cube 方法。


如何运行此示例

启动并部署项目,这里我们假设服务器正在 8888 端口号上运行。 如果端口号不同,请更改 client-beans.xml 中的 serviceURL。

然后,编译并运行 Client.java 文件。