远程调用过程JSON数据过大,连接超时
来源:互联网 发布:金字塔软件使用说明书 编辑:程序博客网 时间:2024/06/06 13:05
远程调用(rest请求)
在使用rest获取JSON时,往往有时响应数据太大。我们一般会考虑分页,请求中包含了一些分页参数,pageNum,pageSize等。但是我碰到一个场景就是,需要一次性加载所有数据供客户端进行自定义排序(例如:客户端可以按字母排序等)一但数据量过大就会造成eof异常。这时候需要服务器进行数据的压缩,那么我只需要解析服务器给我的数据即可:
private ResponseEntity<String> execute(String url) { HttpHeaders requestHeaders = new HttpHeaders(); requestHeaders.set("Content-type", "application/json; charset=UTF-8"); requestHeaders.setAccept(Collections.singletonList(new MediaType("application","json"))); // 重要:使用GZIP压缩发送 requestHeaders.set("Accept-Encoding", "GZIP"); requestHeaders.set("Connection", "Close"); requestHeaders.set("Transfer-Encoding","chunked"); HttpEntity<?> requestEntity = new HttpEntity<Object>(requestHeaders); RestTemplate restTemplate = new RestTemplate(); restTemplate.getMessageConverters().add(new StringHttpMessageConverter()); Date d = new Date(); ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.GET, requestEntity, String.class); Date d1 = new Date(); logger.info(url+"----请求时间:----"+(d1.getTime()-d.getTime())+"-----"); return responseEntity; // 这里可检测访问时间,控制请求超时时间 /*SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory(); requestFactory. requestFactory.setReadTimeout(5000); requestFactory.setConnectTimeout(100); restTemplate.setRequestFactory(requestFactory); Date d = new Date(); restTemplate.execute(url, HttpMethod.GET); ResponseEntity<String> entity = restTemplate.getForEntity(url, String.class); Date d1 = new Date(); logger.info(url+"----请求时间:----"+(d1.getTime()-d.getTime())+"-----"); return entity;*/ }
阅读全文
0 0
- 远程调用过程JSON数据过大,连接超时
- SQL远程连接数据库查询数据,远程调用存储过程
- 解决hessian远程调用连接超时的问题
- redis远程连接超时
- selenium 远程连接超时
- redis远程连接超时
- Mysql连接数过大导致连接超时的问题
- oracle 远程连接超时问题
- mysql导入sql文件过大或连接超时的解决办法
- MySQL导入SQL文件过大或连接超时的解决办法
- mysql导入sql文件过大或连接超时的解决办法
- 调用远程方法,返回json数据,并解析
- 数据数连接过大的问题
- Procedure(存储过程)调用远程服务器上的数据
- 远程过程调用中间件及数据访问中间…
- Oracle 远程连接TNS 超时问题
- Linux SSH远程连接超时断开解决
- oracle阿里云远程服务器连接超时
- [web]xss攻击及如何防御
- JavaScript入门基础--数据类型
- pycharm打开html文件及在HTML文件中加载图片的问题
- 【剑指offer】旋转数组的最小数字
- 优化UITableViewCell高度计算的那些事
- 远程调用过程JSON数据过大,连接超时
- 创建进程,销毁僵尸进程
- 双边滤波器的原理及实现
- CF#808 B. Average Sleep Time(水题)
- 单点登录系统
- bootstrap-loader使用过程中遇到的几个坑爹问题
- 数据挖掘-C4.5算法
- LSM树(Log-Structured Merge Tree)存储引擎
- UIKit性能调优实战讲解