解决——》feign文件下载时报错feign.codec.EncodeException: not in non blocking mode
推荐链接:
总结——》【Java】
总结——》【Mysql】
总结——》【Spring】
总结——》【SpringBoot】
总结——》【MyBatis、MyBatis-Plus】
解决——》feign文件下载时报错feign.codec.EncodeException: not in non blocking mode
- 1、操作
- 2、现象
- 3、原因
- 4、解决
1、操作
feign文件下载
2、现象
报异常feign.codec.EncodeException: not in non blocking mode
2022-11-10 09:30:05.200 ERROR [10.122.143.9] [http-nio-8882-exec-2] [house-platform-api-0a7a8f09-463345-253] com.eju.houseparent.config.starter.BaseControllerHandler.handleException [line=143 ] : handleException ex uri:/tmall/cityopen/syncEsfCommunity/logList/downloadError/1667895255597,param:{}
2022-11-10 09:30:05.200 ERROR [10.122.143.9] [http-nio-8882-exec-2] [house-platform-api-0a7a8f09-463345-253] com.eju.houseparent.config.starter.BaseControllerHandler.handleException [line=144 ] : handleException ex class:class feign.codec.EncodeException,ex:not in non blocking mode.
2022-11-10 09:30:05.201 ERROR [10.122.143.9] [http-nio-8882-exec-2] [house-platform-api-0a7a8f09-463345-253] com.eju.houseparent.config.starter.BaseControllerHandler.handleException [line=145 ] : 系统正在维护中,请稍候再试
feign.codec.EncodeException: not in non blocking mode.at feign.ReflectiveFeign$BuildEncodedTemplateFromArgs.resolve(ReflectiveFeign.java:384)at feign.ReflectiveFeign$BuildTemplateByResolvingArgs.create(ReflectiveFeign.java:232)at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:84)at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:100)at com.sun.proxy.$Proxy305.downloadErrorLogListByBatchNo(Unknown Source)at com.ejudata.platform.controller.TmallCityOpenController.downloadErrorLogListByBatchNo$original$DkyYi2Ll(TmallCityOpenController.java:70)at com.ejudata.platform.controller.TmallCityOpenController.downloadErrorLogListByBatchNo$original$DkyYi2Ll$accessor$nvaSjmiZ(TmallCityOpenController.java)at com.ejudata.platform.controller.TmallCityOpenController$auxiliary$m4Yk46Iz.call(Unknown Source)at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86)at com.ejudata.platform.controller.TmallCityOpenController.downloadErrorLogListByBatchNo(TmallCityOpenController.java)
3、原因
服务消费者,需要设置方法返回值为Response
4、解决
将服务提供者的文件下载响应的响应体(文件内容)复制到服务消费者对外的文件下载响应体中
@FeignClient(value = "${feign.client.config.good-house-push.name}", url = "${feign.client.config.good-house-push.url}", path = "${feign.client.inner.path}", configuration = CatFeignConfiguration.class)
public interface ITmallSyncEsfCommunityApi{@ApiOperation("根据批次号,下载同步二手房小区的错误日志列表")@GetMapping({"/api/tmall/syncEsfCommunity/logList/downloadError/{batchNo}"})Response downloadErrorLogListByBatchNo(@PathVariable(name = "batchNo") String batchNo);
}
@ApiOperation(value = "根据批次号,下载同步二手房小区的错误日志列表")@GetMapping("/cityopen/syncEsfCommunity/logList/downloadError/{batchNo}")void downloadErrorLogListByBatchNo(@PathVariable(name = "batchNo") String batchNo, HttpServletResponse response) {InputStream inputStream = null;try {Response serviceResponse = tmallSyncEsfCommunityApi.downloadErrorLogListByBatchNo(batchNo);Response.Body body = serviceResponse.body();inputStream = body.asInputStream();BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");response.setCharacterEncoding("utf-8");response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + batchNo + ".xlsx");BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(response.getOutputStream());int length = 0;byte[] temp = new byte[1024 * 10];while ((length = bufferedInputStream.read(temp)) != -1) {bufferedOutputStream.write(temp, 0, length);}bufferedOutputStream.flush();bufferedOutputStream.close();bufferedInputStream.close();inputStream.close();} catch (IOException e) {e.printStackTrace();}}
解决——》feign文件下载时报错feign.codec.EncodeException: not in non blocking mode相关推荐
- 【报错解决】telnet时报错:无法打开到主机的连接,在端口23连接失败
[报错解决]主机telnet时报错:无法打开到主机的连接,在端口23连接失败 一.故障现象 二.问题分析 1.telnet功能未开启 2.本地防火墙阻断 三.处置方法 1.开启telnet功能 2.本 ...
- 解决pytest运行时报错ModuleNotFoundError
封装代码后通过pytest运行时报错模块没找到错误. 导入模块前面加上这2句话解决 No modlue name '模块名'的报错. import os,sys sys.path.append(os. ...
- 解决WebDriver 启动时报错
WebDriver使用时遇到的问题 最近在使用WebDriver 时,需要将当前的 Driver 退出, 重新启动新的driver, 于是就加入了如下代码 if (driver != null) {d ...
- 解决 --- Docker 启动时报错:iptables:No chain/target/match by the name
问题:jenkins的docker containner启动失败,报错:failed programming external connectivity - iptables: No chain/ta ...
- SpringCloud Feign调用报错feign.RetryableException: too many bytes written executing
因为服务之间调用需要携带一些用户信息之类的 所以实现了Feign的RequestInterceptor拦截器复制请求头,复制的时候是所有头都复制的,可能导致Content-length长度跟body不 ...
- 如何解决tomcat启动时报错问题
今天启动项目,突然报错,之前也遇到过同样的情况,重启几次就ok了,今天运气比较背,重启n次依旧出错,百度好多,最终参考 浪子骑驴 的博客,得以解决.写这篇只是想记录下问题,附上原文https://bl ...
- 完美解决Keil 打开时报错 Loading PDSC Debug Description Failed
报错原因 首先明确,报错的原因是Keil版本与Package版本的不匹配 解决方案 更新Keil版本,package版本 解决步骤 1. 控制面板,卸载现有的Keil 2. 下载新的MDK版本,我这边 ...
- (自己测试没有问题)解决git clone时报错:The requested URL returned error: 401 Unauthorized while accessing
版本问题,最直接的解决办法就是重新编辑安装git吧: 1. 下载:# wget -O git.zip https://github.com/git/git/archive/v2.3.0.zip 2. ...
- 【excel】解决录制宏时报错:为便于记录,启动文件夹中的“个人宏工作簿”必须保持打开状态
问题 网上找的很多方法都不行... (尤其是百度经验那些完全瞎搞的,浪费时间真的无语) 解决 非常简单,直接搜索找到PERSONAL.XLSB,然后打开就行了 (再次吐槽网上那些没试过就瞎写文章的)
- 解决AndroidStudio编译时报错:org.gradle.api.ProjectConfigurationException;编译报错Read Time out
问题一: org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'app' ...
最新文章
- 哈夫曼树的生成及哈夫曼编码
- oracle 强制 断开,ORA-01092 ORACLE 实例终止。强制断开连接 解决方案(下)
- Oracle的 listagg() WITHIN GROUP ()函数使用
- 在 MyBatis 里,如何将 JSON 型字段到 Java 类的映射
- 完整的一次 HTTP 请求响应过程(一)
- 解决从github上拉取代码慢的问题
- 项目部署时,linux环境配置问题
- HDOJ1020 Encoding
- Atitit attilax总结的对于attilax重要的jsr规范,以及需要增加的jsr规范
- 2.13.JavaScript--条件语句
- 英伟达官网如何下载显卡老版本驱动
- USB驱动程序(四)——键盘驱动(控制传输)
- ghost linux 黑屏,Ghost 与 Linux 的兼容性
- java实现excel导入数据库
- VUE+VSCODE(新建一个项目)
- VM虚拟机局域网组网配置
- 如何优雅地处理Async/Await的异常?
- MySQL基础学习笔记(带目录)
- 安全生产月知识竞赛——新安法知多少
- 牛散村:国内低代码平台有哪些?low code平台整理分享!
热门文章
- mysql amoeba_MySQL基于Amoeba实现读写分离
- 传说中的100句子记忆7000单词(51-100句)
- ****怎么解决UBUNTU里面VIM编辑器键盘错乱问题****
- JS逆向解析案例-巨潮证券市场数据库(python)
- iOS小技能:动态地给类添加新的方法、实例变量、属性。( 对已经存在的类在扩展中添加自定义的属性)
- 怎么禁用计算机usb驱动程序,win7如何禁止USB自动安装驱动程序
- 阿里云价格/报价 - 阿里云服务器最新收费标准
- http://coffeejp.com/bbs/forum.php?mod=viewthread,问题列表_华泰证券网络路演_新浪网
- 恶意软件分析实战15-UPack脱壳Lab18-5
- 为ARM处理器实现Machine Forth