Spring HttpIvoker实现Java的远程调用

本文介绍Spring HttpInvoker远程调用框架的原理及配置方法。HttpInvoker使用HTTP协议,允许穿透防火墙,适用于Spring应用间的远程方法调用。文章详细介绍了服务器端和客户端的配置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring HttpInvoker一种JAVA远程方法调用框架实现,使用的是HTTP协议,允许穿透防火墙,使用JAVA系列化方式,但仅限于Spring应用之间使用,即调用者与被调用者都必须是使用Spring框架的应用。基本原理如下:

在server端,springAOC管理着controller(bean),并暴露出远程调用的接口。在Client端,借助spring产生一个代理对象,通过代理对象实现与服务端的交互。

  • 服务器端配置

    1. 加入jar包

    2. 在.xml中配置spring远程调用的servlet:

  <servlet>
      <servlet-name>service</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>service</servlet-name>
      <url-pattern>*.service</url-pattern>
  </servlet-mapping>

    3.在spring配置文件中配置并发布远程调用端口:

<!-- service导出器,将pojo转换成Spring所需的controller对象 -->
    <bean name="ss.service" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
        <property name="serviceInterface">
            <value>com.spring.service.HelloService</value>
        </property>
        <property name="service" ref="HelloService"></property>
    </bean>
  • 客户端配置

    1.加入jar包,将服务器端service接口(并不需要实现类)和所用bean代码导入过来;

    2. 在spring.xml中配置代理对象:

<!--  配置代理 -->
<
bean class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean"> <property name="serviceInterface"> <value>com.spring.service.HelloService</value> </property> <property name="serviceUrl" >
        <!-- tomcat访问服务器的地址 --> <value>http://localhost:8989/springservice/ss.service</value> </property> </bean>

配置好以后测试调用即可,注意:此远程调用方法传输的是序列化的对象,若需要传输自定义对象时,对应的类需要序列化,即实现Serializable接口。

 

转载于:https://www.cnblogs.com/hfblogs/p/5228797.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值