ERROR c.r.c.u.p.ExcelUtil - [exportExcel,603] - 导出Excel异常Failed write

img


使用多线程进行导出为什么会导出失败报错
14:45:04.798 [pool-2-thread-1] ERROR c.r.c.u.p.ExcelUtil - [exportExcel,603] - 导出Excel异常Failed write

加个锁,expertExcel是不是被共享了

首先提个建议哈,线程池也不是这用的,首先你定义在Controller中,然后掉完就进行了shutdown。假如我这个接口很多请求过来了,肯定会有oom。第二你想异步导出的话,也不是像你这么的写法,http请求是一收一发,请求完了http就返回了,你异步写到response没有任何意义。
提供一下异步的思路,
首先定义线程池到公共的地方, 异步导出实现 请求导出,返回一个异步标识,这个标识用来轮询文件是否生成完毕;异步的逻辑就是将数据写到文件里,等待写完后 更新这个标识,然后再返回文件数据。
如果对你有帮助,麻烦点一下采纳,如果有啥不懂的可以继续问~