使用poi上传.xlsx文件时,出现如下错误
Exception in thread "pool-3-thread-2" java.lang.IllegalStateException: File has been moved - cannot be read again at org.springframework.web.multipart.commons.CommonsMultipartFile.getInputStream(CommonsMultipartFile.java:125) at cn.dataenergy.stat.yxjlbj.web.JlpbbjController$1.run(JlpbbjController.java:200) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)
注意该问题是偶尔发生,并非每次都能重现。而且发生的概率很低,但是一发生,可能连续多次导入都会爆同样的错。
第一感这应该是一个多线程问题,因为不是每次能重现很有可能是资源竞争。同时代码中也确实用了多线程.在我的controller中:
threadool.execute(new Runnable() { @Override public void run() {