推荐链接:
    总结——》【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相关推荐

  1. 【报错解决】telnet时报错:无法打开到主机的连接,在端口23连接失败

    [报错解决]主机telnet时报错:无法打开到主机的连接,在端口23连接失败 一.故障现象 二.问题分析 1.telnet功能未开启 2.本地防火墙阻断 三.处置方法 1.开启telnet功能 2.本 ...

  2. 解决pytest运行时报错ModuleNotFoundError

    封装代码后通过pytest运行时报错模块没找到错误. 导入模块前面加上这2句话解决 No modlue name '模块名'的报错. import os,sys sys.path.append(os. ...

  3. 解决WebDriver 启动时报错

    WebDriver使用时遇到的问题 最近在使用WebDriver 时,需要将当前的 Driver 退出, 重新启动新的driver, 于是就加入了如下代码 if (driver != null) {d ...

  4. 解决 --- Docker 启动时报错:iptables:No chain/target/match by the name

    问题:jenkins的docker containner启动失败,报错:failed programming external connectivity - iptables: No chain/ta ...

  5. SpringCloud Feign调用报错feign.RetryableException: too many bytes written executing

    因为服务之间调用需要携带一些用户信息之类的 所以实现了Feign的RequestInterceptor拦截器复制请求头,复制的时候是所有头都复制的,可能导致Content-length长度跟body不 ...

  6. 如何解决tomcat启动时报错问题

    今天启动项目,突然报错,之前也遇到过同样的情况,重启几次就ok了,今天运气比较背,重启n次依旧出错,百度好多,最终参考 浪子骑驴 的博客,得以解决.写这篇只是想记录下问题,附上原文https://bl ...

  7. 完美解决Keil 打开时报错 Loading PDSC Debug Description Failed

    报错原因 首先明确,报错的原因是Keil版本与Package版本的不匹配 解决方案 更新Keil版本,package版本 解决步骤 1. 控制面板,卸载现有的Keil 2. 下载新的MDK版本,我这边 ...

  8. (自己测试没有问题)解决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. ...

  9. 【excel】解决录制宏时报错:为便于记录,启动文件夹中的“个人宏工作簿”必须保持打开状态

    问题 网上找的很多方法都不行... (尤其是百度经验那些完全瞎搞的,浪费时间真的无语) 解决 非常简单,直接搜索找到PERSONAL.XLSB,然后打开就行了 (再次吐槽网上那些没试过就瞎写文章的)

  10. 解决AndroidStudio编译时报错:org.gradle.api.ProjectConfigurationException;编译报错Read Time out

    问题一: org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'app' ...

最新文章

  1. 哈夫曼树的生成及哈夫曼编码
  2. oracle 强制 断开,ORA-01092 ORACLE 实例终止。强制断开连接 解决方案(下)
  3. Oracle的 listagg() WITHIN GROUP ()函数使用
  4. 在 MyBatis 里,如何将 JSON 型字段到 Java 类的映射
  5. 完整的一次 HTTP 请求响应过程(一)
  6. 解决从github上拉取代码慢的问题
  7. 项目部署时,linux环境配置问题
  8. HDOJ1020 Encoding
  9. Atitit attilax总结的对于attilax重要的jsr规范,以及需要增加的jsr规范
  10. 2.13.JavaScript--条件语句
  11. 英伟达官网如何下载显卡老版本驱动
  12. USB驱动程序(四)——键盘驱动(控制传输)
  13. ghost linux 黑屏,Ghost 与 Linux 的兼容性
  14. java实现excel导入数据库
  15. VUE+VSCODE(新建一个项目)
  16. VM虚拟机局域网组网配置
  17. 如何优雅地处理Async/Await的异常?
  18. MySQL基础学习笔记(带目录)
  19. 安全生产月知识竞赛——新安法知多少
  20. 牛散村:国内低代码平台有哪些?low code平台整理分享!

热门文章

  1. mysql amoeba_MySQL基于Amoeba实现读写分离
  2. 传说中的100句子记忆7000单词(51-100句)
  3. ****怎么解决UBUNTU里面VIM编辑器键盘错乱问题****
  4. JS逆向解析案例-巨潮证券市场数据库(python)
  5. iOS小技能:动态地给类添加新的方法、实例变量、属性。( 对已经存在的类在扩展中添加自定义的属性)
  6. 怎么禁用计算机usb驱动程序,win7如何禁止USB自动安装驱动程序
  7. 阿里云价格/报价 - 阿里云服务器最新收费标准
  8. http://coffeejp.com/bbs/forum.php?mod=viewthread,问题列表_华泰证券网络路演_新浪网
  9. 恶意软件分析实战15-UPack脱壳Lab18-5
  10. 为ARM处理器实现Machine Forth