• Spring HttpIvoker实现Java的远程调用


    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接口。

     
  • 相关阅读:
    jQuery遍历
    jQuery DOM
    jQuery表单事件
    jQuery事件对象
    jQuery绑定事物处理器
    jQuery事件
    JQuery基础选择器
    JQuery基础 接下来我将把我最近学习jQuery所做的笔记发布,希望对初学者有些许帮助,也方便自己以后复习
    C# 连接Oracle数据库 遇到“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”的解决方案
    安装oracle11版本报错此先决条件将测试系统物理内存总量是否至少为 922MB
  • 原文地址:https://www.cnblogs.com/hfblogs/p/5228797.html
Copyright © 2020-2023  润新知