Filter中获取请求体body后再次读取的问题

工作需要,要将请求和响应做一些处理,写一个filter拦截请求,拦截request中body内容后,字符流关闭, controller取到的请求体内容为空。 从Request中获取输入流,InputStream只能被读取一次。 解决方案:给request添加一个包装类BodyWrapper,继承H...

2019-06-19 16:33:54

阅读数 25

评论数 0

springcloud gateway 获取post请求体Json分段导致不全的解决方案

开发版本 springboot 2.0.8.RELEASE + springcloud Finchley.SR2 + spring cloud gateway 前端客户端采用post发送请求,content_type: application/json, spring cloud gateway...

2019-06-13 15:53:46

阅读数 53

评论数 1

springcloud gateway 业务系统返回的响应报文内容分段传输导致不全的解决方案

1.我们在实际开发中由网关路由到业务系统处理后返回响应报文。对于返回小内容响应报文通过super.writeWith(fluxBody.map(dataBuffer -> {}))是没有问题的, 但有时业务系统需要返回过大的响应报文的时候就有问题了,fluxBody返回体会存在分段传...

2019-06-10 14:53:09

阅读数 48

评论数 0

一次生产的 JVM 优化案例

背景 生产环境有二台阿里云服务器,均为同一时期购买的,CPU、内存、硬盘等配置相同。具体配置如下: 节点 CPU 内存 硬盘 其它 A 2CPU 4G 普通云盘 Centos6.4 64位+JDK1.8.0_121 B 2CPU ...

2019-03-21 16:06:02

阅读数 52

评论数 0

Minor GC、Major GC和Full GC之间的区别

文章要求读者熟悉 JVM 内置的通用垃圾回收原则。堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,代假设和其他不同的 GC 算法超出了本文讨论的范围。 Minor GC 从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC。...

2019-03-21 15:56:09

阅读数 28

评论数 0

springcloud gateway 解决请求接口的响应报文内容不全或者错误的方案

Springcloud默认的返回内容格式为HTML,但我们微服务系统之间的调用格式通常为json格式,对于post请求,有时后响应的报文为JSON的时候就报错,接口测试的时候通常返回如下错误:<Not JSON content> 但通过查看html报文...

2019-02-11 10:31:45

阅读数 1021

评论数 0

springcloud gateway 获取post请求的请求体和返回的响应内容

1. 获取post请求的下游微服务返回的响应内容: import java.nio.charset.Charset; import org.reactivestreams.Publisher; import org.springframework.cloud.gateway.filter.Gat...

2019-01-18 16:31:56

阅读数 2593

评论数 3

Springcloud gateway 学习(四) filter

  GatewayFilterFactory 简介 路由过滤器允许以某种方式修改传入的HTTP请求或传出的HTTP响应。 路径过滤器的范围限定为特定路径。 Spring Cloud Gateway包含许多内置的GatewayFilter工厂。 网关过滤器工厂接口有多个实现类,在每个 Gate...

2019-01-18 14:45:34

阅读数 348

评论数 0

Springcloud gateway 学习(三) filter

转载自https://www.fangzhipeng.com     filter的作用和生命周期 由filter工作流程点,可以知道filter有着非常重要的作用,在“pre”类型的过滤器可以做参数校验、权限校验、流量监控、日志输出、协议转换等,在“post”类型的过滤器中可以做响应内...

2019-01-18 14:38:03

阅读数 83

评论数 0

Springcloud gateway 学习(二)

路由谓词工厂  Spring Cloud Gateway 创建 Route 对象时, 使用 RoutePredicateFactory 创建 Predicate 对象,Predicate 对象可以赋值给 Route。 Spring Cloud Gateway 包含许多内置的Route Predi...

2019-01-18 14:33:34

阅读数 144

评论数 0

Springcloud gateway 学习(一)

1. Spring Cloud Gateway 特性 基于 Java 8 编码; 基于Spring Framework 5,Project Reactor和Spring Boot 2.0构建 支持动态路由,能够匹配任何请求属性上的路由。 支持 内置 到 Spring Handler 映射 ...

2019-01-18 14:24:24

阅读数 96

评论数 0

SpringCloud Zuul 由Edgware升级到最新版本Finchley改动点

Spring Boot 2.1.0 已经发布,现在 Spring Cloud 格林威治版本也发布了,现在为项目网关zuul做一次整体框架升级到最新稳定版 基于Spring Boot 2.0.x 的 Finchley 版本。 升级前 => 升级后 Spring Boot 1...

2019-01-17 09:49:42

阅读数 795

评论数 0

用Redis构建分布式锁

用Redis构建分布式锁在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段。 有很多三方库和文章描述如何用Redis实现一个分布式锁管理器,但是这些库实现的方式差别很大,而且很多简单的实现其实只需采用稍微增加一点复杂的设计就可以获得更好的可靠性。 这篇文章的目的就是尝试提出一种官...

2018-01-19 17:10:56

阅读数 197

评论数 0

Spring TaskExecutor

1.spring多线程任务的使用 spring通过任务执行器TaskExecutor来实现多线程与并发编程。通常使用ThreadPoolTaskExecutor来实现一个基于线程池的TaskExecutor.                             ...

2018-01-16 14:38:30

阅读数 925

评论数 0

刷NFC手机实现公交应用实施方案

产品功能   1、 刷NFC手机乘坐公交、地铁   2、 刷NFC手机在公交一卡通合作商户消费   3、 查询余额   4、 通过手机支付给公交后台账户充值   5、 圈存   SWP SIM卡内置公交应用   将公交应用配置为非接渠道下的缺省应用。 ...

2017-03-15 13:25:06

阅读数 1718

评论数 1

CPU卡片结构

CPU卡卡片结构 非接触CPU卡芯片,产品支持ISO14443-A协议,CPU指令兼容通用8051指令,内置硬件DES协处理器, 数据存储器为8Kbyte的EEPROM。该芯片符合中国人民银行PBOC2.0电子存折/电子钱包规范,建设事业CPU卡芯片规范。 COS同时支持PBOC2.0标准(...

2017-03-13 14:40:57

阅读数 2483

评论数 0

ZooKeeper Watcher代码实例

ZooKeeper Watcher代码实例 主要的相关类和接口 Executor 实现了Wathcer接口、Runnable接口、DataMonitorListener接口。 通过connectString 监视ZooKeeper的一个ZNode。 当ZNode发生事件变化时,通过proc...

2017-01-26 10:06:45

阅读数 1212

评论数 0

ZK设计原理简述

1. Zk数据模型和层级namespace:     ZK的名称空间非常类似文件系统,名称为一系列的path,例如”/root/app/task”,ZK中每个node都是通过path来标识的。和文件系统不同的是,每个node可以有关联的data,字节点也是如此,这一点可以类比为文件系统允许path...

2017-01-26 09:41:26

阅读数 3352

评论数 0

Zookeeper-Watcher机制与异步调用原理

atcher机制:目的是为ZK客户端操作提供一种类似于异步获得数据的操作.   1)在创建Zookeeper实例时,允许接收一个watcher参数,此参数将会赋值给watchMnanger.defaultWatcher,成为当前客户端的默认Watcher.需要注意此watcher和其他...

2017-01-26 09:11:12

阅读数 1976

评论数 0

zookeeper系列之异步通知模式-Watcher

Watcher介绍   Watcher是Zookeeper用来实现distribute lock, distribute configure, distribute queue等应用的主要手段。要监控data_tree上的任何节点的变化(节点本身的增加,删除,数据修改,以及孩子的变化)都可以在...

2017-01-26 09:00:55

阅读数 233

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭