首页 > 其他分享 >Spring HTTP Invoker

Spring HTTP Invoker

时间:2023-09-13 09:58:00浏览次数:44  
标签:JAVA Spring Invoker 使用 HTTP 序列化

参考:https://blog.csdn.net/asdluoliu/article/details/112847699

概念

Spring HTTP Invoker一种JAVA远程方法调用框架实现,原理与JDK的RMI基本一致,所以我们先跟其它JAVA远程方法调用实现做下简单比较。

  • RMI:使用JRMP协议(基于TCP/IP),不允许穿透防火墙,使用JAVA序列化方式,使用于任何JAVA应用之间相互调用。
  • Hessian:使用HTTP协议,允许穿透防火墙,使用自己的序列化方式,支持JAVA、C++、.Net等跨语言使用。
  • Burlap: 与Hessian相同,只是Hessian使用二进制传输,而Burlap使用XML格式传输(两个产品均属于caucho公司的开源产品)。
  • Spring HTTP Invoker: 使用HTTP协议,允许穿透防火墙,使用JAVA序列化方式,但仅限于Spring应用之间使用,即调用者与被调用者都必须是使用Spring框架的应用。

既然是通过HTTP请求调用,那么客户端肯定需要一个代理用于帮忙发送HTTP请求,帮忙做对象系列化和反系列化等,Spring框架中的HttpInvokerProxyFactoryBean类处理这些杂事;

而服务器端需要一个HTTP请求处理器,帮忙处理HTTP请求已经对象系列化和反系列化工作,Spring框架中的HttpInvokerServiceExporter类就是干这活的,对于Sun JRE 6 的HTTP Server,Spring还提供了SimpleHttpInvokerServiceExporter类供选择。

标签:JAVA,Spring,Invoker,使用,HTTP,序列化
From: https://www.cnblogs.com/hasome/p/17698721.html

相关文章

  • springboot日志配置
    配置文件使用xml配置日志保存(并不需要pom配置slf4j依赖,starter里面已经配置了依赖了)在项目的resources目录下创建一个【logback-spring.xml】日志配置文件名称只要是一logback开头就行,测试使用log.xml并不会生成日志。合法名称:logback.xml、logback-spring.xml备注:要配置l......
  • SpringBoot项目启动报错:An incompatible version [1.1.22] of the Apache Tomcat Nati
    问题解释:“安装了不兼容的ApacheTomcat原生库版本[1.1.22],而Tomcat需要版本[1.2.14]”解决方法:①打开网页 http://archive.apache.org/dist/tomcat/tomcat-connectors/native/②        ③        ④     ......
  • 【Spring Boot】Thymeleaf 模板引擎
     Thymeleaf组成:标签+表达式,标签是Thymeleaf的语法结构,而表达式就是语法里的内容实现  pom.xml添加依赖包<!--模板引擎Thymeleaf依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-b......
  • Spring Boot构建web项目01
    配置:破解版IDEA2019.3.3Maven--3.6.3java--1.8(8)jdk--8  打开IDEA,new一个project,选择SpringInitializr 改写maven管理和java版本8 选择web项目    添加指定父级工程信息和java版本依赖<modelVersion>4.0.0</modelVersion><parent><gro......
  • springcloud日常学习
    一、 Feign客户端接口调用1. 分析与介绍   之前的消费者调用服务提供者是通过RestTemplate + Ribbon组合实现负载均衡进行调用   如果在消费者客户端能够通过面向接口编程的思想去实现对服务提供者进行调用,就更加接近软件工程的开发思想,Feign就可以实现。微服务之间的调......
  • 优雅地切换SpringCloud注册中心
    背景做项目时偶尔需要切换注册中心,虽然切换很简单,但如果项目研发伊始没有考虑切换的问题,就需要去拉分支,做配置,不够优雅。springCloud支持很多注册中心,这里只介绍三个常用的:Eureka、Nacos、Consul原理利用mavenprofile来处理不同的注册中心以及依赖;pom.xml样例详见50-105行......
  • 浏览器端,怎么发一个 http2 的请求?
    在浏览器端发送一个HTTP/2请求,可以通过以下几种方式实现:使用原生的JavaScript:你可以使用XMLHttpRequest或fetchAPI发送HTTP请求。浏览器会根据支持的协议版本选择使用HTTP/2还是较旧的版本(如HTTP/1.1)。例如,使用fetchAPI发送一个HTTP/2请求:fetch('https://example......
  • Spring源码分析(六)容器的扩展点(BeanFactoryPostProcessor)
    之前的文章我写了BeanDefinition的基本概念和合并,其中很对次提到了容器的扩展点,这篇文章就写这方面的知识。这部分的内容主要涉及到官网的1.8小节。按照官网介绍来说,容器的扩展点可以分为三类,BeanPostProcessor,BeanFactoryPostProcessor以及FactoryBean。本文主要讲BeanFactoryPost......
  • nginx https 403错误
    userwwwwww;worker_processesauto;worker_cpu_affinityauto;error_log/home/wwwlogs/nginx_error.logcrit;pid/usr/local/nginx/logs/nginx.pid;#Specifiesthevalueformaximumfiledescriptorsthatcanbeopenedbythisprocess.worker_rlimit_no......
  • springboot中的文件上传与下载
    首先回忆一下springmvc中的文件上传1)引入文件上传相关jar包,commons-io、commons-fileupload2)文件上传表单提交方式必须为post3)要求表单的enctype属性必须为:multipart/form-data4)后台接收文件时,使用multipartFile变量与前端name属性值保持一致5)在springmvc的配置文件中必须......